{"version":3,"sources":["webpack:///./src/views/admin/enterpriseDataView.vue?2eb3","webpack:///./src/assets/admin/dataImg/Group 937.png","webpack:///./src/views/admin/enterpriseDataView.vue","webpack:///./src/views/admin/enterpriseDataView.vue?39e0","webpack:///./src/views/admin/enterpriseDataView.vue?c244","webpack:///./src/assets/three.min.js","webpack:///src/views/admin/enterpriseDataView.vue","webpack:///./src/assets/admin/dataImg/Group 936.png"],"names":["module","exports","render","_vm","this","_c","_self","directives","name","rawName","value","loading","expression","staticClass","_m","staticStyle","_v","_s","$store","state","adminSetting","adst02","class","active","currentTop","on","$event","handle","viewData","MapsList","trueData","companySum","projectSum","userSum","modelSum","modelSize","attrs","require","manCount","toFixed","girlCount","_l","ageProportion","item","index","key","staticRenderFns","component","THREE","REVISION","self","console","info","log","debug","warn","error","Int32Array","Array","Float32Array","String","prototype","trim","replace","extend","a","b","Object","keys","c","d","e","length","f","defineProperty","getOwnPropertyDescriptor","hasOwnProperty","call","window","requestAnimationFrame","cancelAnimationFrame","Date","now","Math","max","g","setTimeout","clearTimeout","CullFaceNone","CullFaceBack","CullFaceFront","CullFaceFrontBack","FrontFaceDirectionCW","FrontFaceDirectionCCW","BasicShadowMap","PCFShadowMap","PCFSoftShadowMap","FrontSide","BackSide","DoubleSide","NoShading","FlatShading","SmoothShading","NoColors","FaceColors","VertexColors","NoBlending","NormalBlending","AdditiveBlending","SubtractiveBlending","MultiplyBlending","CustomBlending","AddEquation","SubtractEquation","ReverseSubtractEquation","ZeroFactor","OneFactor","SrcColorFactor","OneMinusSrcColorFactor","SrcAlphaFactor","OneMinusSrcAlphaFactor","DstAlphaFactor","OneMinusDstAlphaFactor","DstColorFactor","OneMinusDstColorFactor","SrcAlphaSaturateFactor","MultiplyOperation","MixOperation","AddOperation","UVMapping","CubeReflectionMapping","CubeRefractionMapping","SphericalReflectionMapping","SphericalRefractionMapping","RepeatWrapping","ClampToEdgeWrapping","MirroredRepeatWrapping","NearestFilter","NearestMipMapNearestFilter","NearestMipMapLinearFilter","LinearFilter","LinearMipMapNearestFilter","LinearMipMapLinearFilter","UnsignedByteType","ByteType","ShortType","UnsignedShortType","IntType","UnsignedIntType","FloatType","UnsignedShort4444Type","UnsignedShort5551Type","UnsignedShort565Type","AlphaFormat","RGBFormat","RGBAFormat","LuminanceFormat","LuminanceAlphaFormat","RGB_S3TC_DXT1_Format","RGBA_S3TC_DXT1_Format","RGBA_S3TC_DXT3_Format","RGBA_S3TC_DXT5_Format","Color","set","r","setHex","setStyle","floor","setRGB","setHSV","setHSL","test","exec","min","parseInt","ColorKeywords","copy","copyGammaToLinear","copyLinearToGamma","sqrt","convertGammaToLinear","convertLinearToGamma","getHex","getHexString","toString","slice","getHSL","h","s","l","i","getStyle","offsetHSL","add","addColors","addScalar","multiply","multiplyScalar","lerp","clone","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","Quaternion","x","y","z","w","setFromEuler","cos","sin","setFromAxisAngle","setFromRotationMatrix","elements","k","inverse","conjugate","normalize","lengthSq","multiplyQuaternions","multiplyVector3","applyQuaternion","slerp","acos","abs","equals","Vector2","setX","setY","setComponent","Error","getComponent","addVectors","sub","subVectors","divideScalar","clamp","negate","dot","distanceTo","distanceToSquared","setLength","toArray","Vector3","setZ","multiplyVectors","applyMatrix3","applyMatrix4","applyProjection","applyEuler","applyAxisAngle","transformDirection","divide","lengthManhattan","cross","crossVectors","projectOnVector","projectOnPlane","reflect","angleTo","getPositionFromMatrix","setEulerFromRotationMatrix","m","asin","atan2","setEulerFromQuaternion","getScaleFromMatrix","Vector4","setW","setAxisAngleFromQuaternion","setAxisAngleFromRotationMatrix","PI","Line3","start","end","center","delta","distanceSq","distance","at","closestPointToPointParameter","closestPointToPoint","Box2","Infinity","setFromPoints","makeEmpty","setFromCenterAndSize","empty","size","expandByPoint","expandByVector","expandByScalar","containsPoint","containsBox","getParameter","isIntersectionBox","clampPoint","distanceToPoint","intersect","union","translate","Box3","getBoundingSphere","Sphere","radius","Matrix3","identity","multiplyVector3Array","determinant","getInverse","transpose","getNormalMatrix","transposeIntoArray","Matrix4","n","p","q","setRotationFromEuler","setRotationFromQuaternion","lookAt","multiplyMatrices","v","t","A","I","C","G","J","E","H","B","W","F","K","L","U","multiplyToArray","multiplyVector4","rotateAxis","crossVector","flattenToArray","flattenToArrayOffset","getPosition","setPosition","compose","makeScale","decompose","extractPosition","extractRotation","rotateX","rotateY","rotateZ","rotateByAxis","scale","getMaxScaleOnAxis","makeTranslation","makeRotationX","makeRotationY","makeRotationZ","makeRotationAxis","makeFrustum","makePerspective","degToRad","makeOrthographic","Ray","origin","direction","recast","isIntersectionSphere","isIntersectionPlane","normal","distanceToPlane","constant","intersectPlane","setFromCenterAndPoints","intersectsSphere","getBoundingBox","Frustum","planes","Plane","setFromMatrix","setComponents","intersectsObject","matrixWorld","geometry","boundingSphere","setFromNormalAndCoplanarPoint","setFromCoplanarPoints","distanceToSphere","projectPoint","orthoPoint","isIntersectionLine","intersectLine","coplanarPoint","clampBottom","mapLinear","smoothstep","smootherstep","random16","random","randInt","randFloat","randFloatSpread","sign","radToDeg","Spline","points","initFromArray","getPoint","getControlPointsArray","getLength","chunks","total","reparametrizeByArcLength","push","ceil","Triangle","barycoordFromPoint","constructor","setFromPointsAndIndices","area","midpoint","plane","Vertex","UV","Clock","autoStart","elapsedTime","oldTime","startTime","running","performance","stop","getElapsedTime","getDelta","EventDispatcher","addEventListener","indexOf","removeEventListener","splice","dispatchEvent","type","target","Raycaster","ray","near","far","Particle","point","position","face","object","Mesh","vertices","material","MeshFaceMaterial","materials","side","precision","matrixRotationWorld","faces","materialIndex","Face3","Face4","faceIndex","getDescendants","intersectObject","sort","intersectObjects","Object3D","id","Object3DIdCount","properties","parent","children","up","rotation","eulerOrder","defaultEulerOrder","renderDepth","rotationAutoUpdate","matrix","matrixWorldNeedsUpdate","matrixAutoUpdate","quaternion","useQuaternion","visible","receiveShadow","castShadow","frustumCulled","_vector","applyMatrix","translateX","translateY","translateZ","localToWorld","worldToLocal","__m1","remove","Scene","__addObject","__removeObject","traverse","getChildByName","apply","updateMatrix","updateMatrixWorld","Projector","RenderableObject","RenderableVertex","Ca","objects","sprites","lights","fa","$a","M","ca","qa","ha","ra","N","projectVector","matrixWorldInverse","projectionMatrix","unprojectVector","projectionMatrixInverse","pickingRay","projectScene","Pa","ka","aa","pa","Y","da","la","Z","oa","gb","nb","ia","Wa","ab","ta","Fa","Light","Line","Sprite","faceVertexUvs","positionWorld","positionScreen","Xa","RenderableFace3","v1","v2","v3","ub","RenderableFace4","v4","normalModel","normalModelView","centroidModel","centroid","vertexNormals","vertexNormalsModel","vertexNormalsModelView","vertexNormalsLength","uvs","color","LinePieces","RenderableLine","RenderableParticle","vertexColors","vertexTangents","Geometry","GeometryIdCount","colors","normals","faceUvs","morphTargets","morphColors","morphNormals","skinWeights","skinIndices","lineDistances","boundingBox","hasTangents","dynamic","buffersNeedUpdate","lineDistancesNeedUpdate","colorsNeedUpdate","tangentsNeedUpdate","normalsNeedUpdate","uvsNeedUpdate","elementsNeedUpdate","verticesNeedUpdate","computeCentroids","computeFaceNormals","computeVertexNormals","__tmpVertices","computeMorphNormals","__originalFaceNormal","__originalVertexNormals","faceNormals","computeTangents","computeLineDistances","computeBoundingBox","computeBoundingSphere","mergeVertices","pow","round","join","dispose","BufferGeometry","attributes","offsets","array","normalizeNormals","itemSize","numItems","count","uv","tangent","Camera","create","OrthographicCamera","left","right","top","bottom","updateProjectionMatrix","PerspectiveCamera","fov","aspect","setLens","atan","setViewOffset","fullWidth","fullHeight","width","height","AmbientLight","AreaLight","intensity","constantAttenuation","linearAttenuation","quadraticAttenuation","DirectionalLight","onlyShadow","shadowCameraNear","shadowCameraFar","shadowCameraLeft","shadowCameraTop","shadowCameraRight","shadowCameraBottom","shadowCameraVisible","shadowBias","shadowDarkness","shadowMapHeight","shadowMapWidth","shadowCascade","shadowCascadeOffset","shadowCascadeCount","shadowCascadeBias","shadowCascadeWidth","shadowCascadeHeight","shadowCascadeNearZ","shadowCascadeFarZ","shadowCascadeArray","shadowMatrix","shadowCamera","shadowMapSize","shadowMap","HemisphereLight","groundColor","PointLight","SpotLight","angle","exponent","shadowCameraFov","Loader","statusDomElement","showStatus","addStatusElement","onLoadStart","onLoadProgress","onLoadComplete","crossOrigin","document","createElement","style","fontSize","textAlign","background","padding","zIndex","innerHTML","updateProgress","loaded","extractUrlBase","split","pop","initMaterials","createMaterial","needsTangents","ShaderMaterial","LN2","ImageUtils","loadCompressedTexture","Texture","sourceFile","repeat","wrapS","wrapT","offset","mirror","anisotropy","Image","onload","image","getContext","drawImage","needsUpdate","src","opacity","map","lightMap","normalMap","bumpMap","wireframe","shading","toLowerCase","blending","transparent","depthTest","depthWrite","flipSided","doubleSided","colorDiffuse","DbgColor","colorSpecular","specular","colorAmbient","ambient","transparency","specularCoef","shininess","mapDiffuse","mapDiffuseRepeat","mapDiffuseOffset","mapDiffuseWrap","mapDiffuseAnisotropy","mapLight","mapLightRepeat","mapLightOffset","mapLightWrap","mapLightAnisotropy","mapBump","mapBumpRepeat","mapBumpOffset","mapBumpWrap","mapBumpAnisotropy","mapNormal","mapNormalRepeat","mapNormalOffset","mapNormalWrap","mapNormalAnisotropy","mapSpecular","mapSpecularRepeat","mapSpecularOffset","mapSpecularWrap","mapSpecularAnisotropy","mapBumpScale","bumpScale","ShaderLib","normalmap","UniformsUtils","uniforms","tNormal","mapNormalFactor","uNormalScale","tDiffuse","enableDiffuse","specularMap","tSpecular","enableSpecular","tAO","enableAO","uDiffuseColor","uSpecularColor","uAmbientColor","uShininess","uOpacity","fragmentShader","vertexShader","fog","DbgName","ImageLoader","load","content","message","JSONLoader","withCredentials","loadAjaxJSON","XMLHttpRequest","onreadystatechange","readyState","DONE","status","responseText","JSON","parse","createModel","LOADING","getResponseHeader","HEADERS_RECEIVED","open","send","bones","animation","LoadingMonitor","SceneLoader","callbackSync","callbackProgress","geometryHandlerMap","hierarchyHandlerMap","addGeometryHandler","loaderClass","addHierarchyHandler","scene","url","skin","morph","mirroredLoop","duration","loaderObject","options","urlBaseType","geometries","face_materials","SkinnedMesh","MorphAnimMesh","time","targetName","cameras","empties","groups","dae","totalModels","totalTextures","loadedModels","loadedTextures","targetInverse","textures","fogs","transform","Fog","FogExp2","density","CubeGeometry","depth","widthSegments","heightSegments","depthSegments","PlaneGeometry","SphereGeometry","CylinderGeometry","topRad","botRad","radSegs","heightSegs","TorusGeometry","tube","segmentsR","segmentsT","IcosahedronGeometry","subdivisions","embeds","metadata","ascii","mapping","loadCompressedTextureCube","loadTextureCube","loadTexture","minFilter","magFilter","wrap","parameters","normalScale","envMap","tCube","enableReflection","uReflectivity","reflectivity","displacementMap","tDisplacement","enableDisplacement","uDisplacementBias","displacementBias","uDisplacementScale","displacementScale","defaults","camera","currentCamera","TextureLoader","Material","MaterialIdCount","blendSrc","blendDst","blendEquation","polygonOffset","alphaTest","polygonOffsetUnits","polygonOffsetFactor","overdraw","setValues","LineBasicMaterial","linewidth","linejoin","linecap","LineDashedMaterial","dashSize","gapSize","MeshBasicMaterial","combine","refractionRatio","wireframeLinewidth","wireframeLinejoin","wireframeLinecap","skinning","MeshLambertMaterial","emissive","wrapAround","wrapRGB","MeshPhongMaterial","metal","perPixel","MeshDepthMaterial","MeshNormalMaterial","ParticleBasicMaterial","sizeAttenuation","ParticleCanvasMaterial","program","defines","SpriteMaterial","useScreenCoordinates","scaleByViewport","alignment","SpriteAlignment","uvOffset","uvScale","topLeft","topCenter","topRight","centerLeft","centerRight","bottomLeft","bottomCenter","bottomRight","TextureIdCount","mipmaps","format","generateMipmaps","premultiplyAlpha","flipY","unpackAlignment","onUpdate","CompressedTexture","DataTexture","data","ParticleSystem","sortParticles","LineStrip","updateMorphTargets","morphTargetBase","morphTargetForcedOrder","morphTargetInfluences","morphTargetDictionary","getMorphTargetIndexByName","Bone","skinMatrix","update","useVertexTexture","identityMatrix","boneMatrices","pos","rotq","scl","addBone","boneTextureHeight","boneTextureWidth","boneTexture","pose","boneInverses","offsetMatrix","currentKeyframe","lastKeyframe","directionBackwards","setFrameRange","startKeyframe","endKeyframe","setDirectionForward","setDirectionBackward","parseAnimations","animations","match","firstAnimation","setAnimationLabel","playAnimation","updateAnimation","Ribbon","LOD","LODs","addLevel","visibleAtDistance","object3D","rotation3d","overrideMaterial","__objects","__lights","__objectsAdded","__objectsRemoved","CanvasRenderer","globalAlpha","globalCompositeOperation","lineWidth","lineCap","lineJoin","strokeStyle","fillStyle","setLineDash","Ma","Na","mb","Ib","Jb","fc","Ab","mc","xb","j","yb","Ra","cb","Sa","canvas","pb","Ka","Va","gc","vb","Qa","La","bb","zb","fillRect","getImageData","mozDash","domElement","devicePixelRatio","sortElements","sortObjects","autoClear","supportsVertexTextures","setFaceCulling","setSize","setClearColor","setClearColorHex","getMaxAnisotropy","clear","setTransform","clearRect","beginPath","moveTo","lineTo","closePath","stroke","fill","wa","hb","createPattern","save","restore","clip","putImageData","P","X","Bb","Cb","Db","md","nd","rotate","ShaderChunk","fog_pars_fragment","fog_fragment","envmap_pars_fragment","envmap_fragment","envmap_pars_vertex","worldpos_vertex","envmap_vertex","map_particle_pars_fragment","map_particle_fragment","map_pars_vertex","map_pars_fragment","map_vertex","map_fragment","lightmap_pars_fragment","lightmap_pars_vertex","lightmap_fragment","lightmap_vertex","bumpmap_pars_fragment","normalmap_pars_fragment","specularmap_pars_fragment","specularmap_fragment","lights_lambert_pars_vertex","lights_lambert_vertex","lights_phong_pars_vertex","lights_phong_vertex","lights_phong_pars_fragment","lights_phong_fragment","color_pars_fragment","color_fragment","color_pars_vertex","color_vertex","skinning_pars_vertex","skinbase_vertex","skinning_vertex","morphtarget_pars_vertex","morphtarget_vertex","default_vertex","morphnormal_vertex","skinnormal_vertex","defaultnormal_vertex","shadowmap_pars_fragment","shadowmap_fragment","shadowmap_pars_vertex","shadowmap_vertex","alphatest_fragment","linear_to_gamma_fragment","merge","UniformsLib","common","diffuse","offsetRepeat","flipEnvMap","useRefract","bump","fogDensity","fogNear","fogFar","fogColor","ambientLightColor","directionalLightDirection","directionalLightColor","hemisphereLightDirection","hemisphereLightSkyColor","hemisphereLightGroundColor","pointLightColor","pointLightPosition","pointLightDistance","spotLightColor","spotLightPosition","spotLightDirection","spotLightDistance","spotLightAngleCos","spotLightExponent","particle","psColor","shadowmap","basic","lambert","phong","particle_basic","dashed","totalSize","mNear","mFar","uRefractionRatio","uOffset","uRepeat","cube","tFlip","depthRGBA","WebGLRenderer","__webglCustomAttributesList","deleteBuffer","buffer","__webglInitialized","createUniqueBuffers","createBuffer","belongsToAttribute","faces3","faces4","__vertexArray","__normalArray","__tangentArray","__colorArray","__uvArray","__uv2Array","__skinIndexArray","__skinWeightArray","__faceArray","Uint16Array","__lineArray","numMorphTargets","__morphTargetsArrays","numMorphNormals","__morphNormalsArrays","__webglFaceCount","__webglLineCount","__original","__inittedArrays","ELEMENT_ARRAY_BUFFER","ARRAY_BUFFER","bindBuffer","bufferData","STATIC_DRAW","enableVertexAttribArray","disableVertexAttribArray","setBlending","setDepthTest","setDepthWrite","setMaterialFaces","renderBufferDirect","renderBuffer","renderImmediateObject","opaque","Pc","initMaterial","__webglMorphTargetInfluences","maxMorphTargets","useProgram","uniformMatrix4fv","tc","uniform1i","setTexture","boneGlobalMatrices","directional","positions","distances","spot","directions","anglesCos","exponents","hemi","skyColors","groundColors","O","gammaInput","WebGLRenderTargetCube","_shadowPass","uniformsList","uniform1f","uniform2f","uniform3f","uniform4f","uniform1iv","uniform3iv","uniform1fv","uniform3fv","_array","uniform2fv","uniform4fv","__webglTextureCube","createTexture","memory","activeTexture","TEXTURE0","bindTexture","TEXTURE_CUBE_MAP","pixelStorei","UNPACK_FLIP_Y_WEBGL","autoScaleCubemaps","gd","compressedTexImage2D","TEXTURE_CUBE_MAP_POSITIVE_X","texImage2D","generateMipmap","__webglTexture","cameraPosition","viewMatrix","modelViewMatrix","_modelViewMatrix","normalMatrix","uniformMatrix3fv","_normalMatrix","modelMatrix","Mc","enable","POLYGON_OFFSET_FILL","disable","createShader","FRAGMENT_SHADER","VERTEX_SHADER","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","getShaderInfoLog","texParameteri","TEXTURE_WRAP_S","TEXTURE_WRAP_T","TEXTURE_MAG_FILTER","TEXTURE_MIN_FILTER","CLAMP_TO_EDGE","__oldAnisotropy","texParameterf","TEXTURE_MAX_ANISOTROPY_EXT","Cc","bindRenderbuffer","RENDERBUFFER","depthBuffer","stencilBuffer","renderbufferStorage","DEPTH_COMPONENT16","framebufferRenderbuffer","FRAMEBUFFER","DEPTH_ATTACHMENT","DEPTH_STENCIL","DEPTH_STENCIL_ATTACHMENT","RGBA4","NEAREST","LINEAR","REPEAT","MIRRORED_REPEAT","NEAREST_MIPMAP_NEAREST","NEAREST_MIPMAP_LINEAR","LINEAR_MIPMAP_NEAREST","LINEAR_MIPMAP_LINEAR","UNSIGNED_BYTE","UNSIGNED_SHORT_4_4_4_4","UNSIGNED_SHORT_5_5_5_1","UNSIGNED_SHORT_5_6_5","BYTE","SHORT","UNSIGNED_SHORT","INT","UNSIGNED_INT","FLOAT","ALPHA","RGB","RGBA","LUMINANCE","LUMINANCE_ALPHA","FUNC_ADD","FUNC_SUBTRACT","FUNC_REVERSE_SUBTRACT","ZERO","ONE","SRC_COLOR","ONE_MINUS_SRC_COLOR","SRC_ALPHA","ONE_MINUS_SRC_ALPHA","DST_ALPHA","ONE_MINUS_DST_ALPHA","DST_COLOR","ONE_MINUS_DST_COLOR","SRC_ALPHA_SATURATE","COMPRESSED_RGB_S3TC_DXT1_EXT","COMPRESSED_RGBA_S3TC_DXT1_EXT","COMPRESSED_RGBA_S3TC_DXT3_EXT","COMPRESSED_RGBA_S3TC_DXT5_EXT","alpha","premultipliedAlpha","antialias","stencil","preserveDrawingBuffer","clearColor","clearAlpha","context","autoUpdateScene","autoUpdateObjects","autoClearStencil","autoClearDepth","autoClearColor","shadowMapEnabled","physicallyBasedShading","gammaOutput","shadowMapAutoUpdate","shadowMapType","shadowMapCullFace","shadowMapCascade","shadowMapDebug","maxMorphNormals","renderPluginsPre","renderPluginsPost","programs","calls","getExtension","getShaderPrecisionFormat","rangeMin","rangeMax","clearDepth","clearStencil","DEPTH_TEST","depthFunc","LEQUAL","frontFace","CCW","cullFace","BACK","CULL_FACE","BLEND","blendFunc","MAX_TEXTURE_IMAGE_UNITS","fd","MAX_VERTEX_TEXTURE_IMAGE_UNITS","MAX_TEXTURE_SIZE","MAX_CUBE_MAP_TEXTURE_SIZE","MAX_TEXTURE_MAX_ANISOTROPY_EXT","sc","COMPRESSED_TEXTURE_FORMATS","jd","HIGH_FLOAT","kd","MEDIUM_FLOAT","LOW_FLOAT","ld","HIGH_INT","MEDIUM_INT","LOW_INT","hd","Nc","supportsFloatTextures","supportsStandardDerivatives","supportsCompressedTextureS3TC","getPrecision","setViewport","viewport","setScissor","scissor","enableScissorTest","SCISSOR_TEST","getClearColor","getClearAlpha","COLOR_BUFFER_BIT","DEPTH_BUFFER_BIT","STENCIL_BUFFER_BIT","clearTarget","setRenderTarget","addPostPlugin","init","addPrePlugin","updateShadowMap","shadowMapPlugin","wd","__webglInit","__webglVertexBuffer","__webglNormalBuffer","__webglTangentBuffer","__webglColorBuffer","__webglUVBuffer","__webglUV2Buffer","__webglSkinIndicesBuffer","__webglSkinWeightsBuffer","__webglFaceBuffer","__webglLineBuffer","__webglLineDistanceBuffer","geometryGroups","__webglMorphTargetsBuffers","__webglMorphNormalsBuffers","Oc","deleteTexture","deleteFramebuffer","__webglFramebuffer","deleteRenderbuffer","__webglRenderbuffer","usedTimes","deleteProgram","renderBufferImmediate","hasPositions","hasNormals","hasUvs","__webglUvBuffer","hasColors","positionArray","DYNAMIC_DRAW","vertexAttribPointer","normalArray","uvArray","colorArray","drawArrays","TRIANGLES","drawElements","POINTS","LINE_STRIP","numSupportedMorphTargets","numSupportedMorphNormals","uv2","skinIndex","skinWeight","lineDistance","LINES","__webglParticleCount","TRIANGLE_STRIP","__webglVertexCount","initWebGLObjects","__webglObjects","__webglObjectsImmediate","TEXTURE_2D","immediateRenderCallback","__webglSprites","__webglFlares","hash","counter","geometryGroupsList","morphTargetsNeedUpdate","__lineDistanceArray","__sortArray","__webglActive","ImmediateRenderObject","LensFlare","sa","D","V","Q","R","S","T","na","Mb","Nb","Ob","Pb","Qb","Rb","Sb","Tb","Ub","Vb","Wb","Xb","Yb","Zb","$b","xa","nc","yc","db","Ya","Za","oc","hc","Oa","Ua","ic","jc","Eb","kb","Aa","ob","Ta","ba","ja","ya","eb","Dc","Ec","Fb","Ga","fb","Ha","Ia","od","u","ac","wb","qb","uc","ua","va","lb","pd","qd","vc","pc","qc","Qc","boundTo","$","Gb","Rc","Fc","Gc","Hc","Sc","za","Tc","Uc","Vc","xd","ib","zc","Da","rb","yd","zd","Ad","Wc","Xc","Yc","rd","Hb","Zc","Ic","Jc","Kc","$c","Ja","ad","Bd","Cd","Dd","Jd","Kd","bd","cd","Ed","Ld","Md","sd","dd","Fd","jb","Ac","sb","Ea","bc","td","Lc","tb","cc","dc","ga","ec","rc","ed","ud","vd","Gd","wc","xc","kc","Hd","Id","lc","Kb","Bc","ma","Lb","Ba","ea","MAX_VERTEX_UNIFORM_VECTORS","useFog","fogExp","maxBones","maxDirLights","maxPointLights","maxSpotLights","maxHemiLights","maxShadows","code","createProgram","attachShader","linkProgram","getProgramParameter","LINK_STATUS","VALIDATE_STATUS","getError","deleteShader","getUniformLocation","getAttribLocation","CW","FRONT","FRONT_AND_BACK","depthMask","blendEquationSeparate","blendFuncSeparate","UNPACK_PREMULTIPLY_ALPHA_WEBGL","UNPACK_ALIGNMENT","createFramebuffer","createRenderbuffer","bindFramebuffer","framebufferTexture2D","COLOR_ATTACHMENT0","shareDepthFrom","activeCubeFace","ShadowMapPlugin","SpritePlugin","LensFlarePlugin","WebGLRenderTarget","GeometryUtils","removeMaterials","randomPointInTriangle","__v1","randomPointInFace","_area1","_area2","triangleArea","randomPointsInGeometry","_area","__v2","normalizeUVs","triangulateQuads","setMaterialIndex","parseDDS","response","onerror","responseType","loadCount","isCubemap","mipmapCount","charCodeAt","fromCharCode","Uint8Array","getNormalMap","createImageData","generateDataTexture","SceneUtils","createMultiMaterialObject","detach","attach","FontUtils","weight","divisions","getFace","loadFace","familyName","cssFontWeight","cssFontStyle","drawText","resolution","Path","extractGlyphPoints","path","paths","glyphs","o","_cachedOutline","quadraticCurveTo","Shape","Utils","b2","bezierCurveTo","b3","generateShapes","curveSegments","font","toShapes","Triangulate","_typeface_js","Curve","getPointAt","getUtoTmapping","getPoints","getSpacedPoints","getLengths","__arcLengthDivisions","cacheArcLengths","updateArcLengths","getTangent","getTangentAt","LineCurve","QuadraticBezierCurve","v0","tangentQuadraticBezier","CubicBezierCurve","tangentCubicBezier","SplineCurve","interpolate","EllipseCurve","aX","aY","xRadius","yRadius","aStartAngle","aEndAngle","aClockwise","ArcCurve","tangentSpline","LineCurve3","QuadraticBezierCurve3","CubicBezierCurve3","SplineCurve3","ClosedSplineCurve3","CurvePath","curves","bends","autoClose","checkConnection","getCurveLengths","cacheLengths","Number","NEGATIVE_INFINITY","POSITIVE_INFINITY","minX","minY","maxX","maxY","maxZ","minZ","createPointsGeometry","createGeometry","createSpacedPointsGeometry","addWrapPath","getTransformedPoints","getWrapPoints","getTransformedSpacedPoints","getNormalVector","Gyroscope","translationWorld","rotationWorld","scaleWorld","translationObject","rotationObject","scaleObject","actions","fromPoints","PathActions","MOVE_TO","LINE_TO","QUADRATIC_CURVE_TO","BEZIER_CURVE_TO","CSPLINE_THRU","ARC","ELLIPSE","arguments","action","args","splineThru","arc","absarc","absellipse","ellipse","useSpacedPoints","concat","isClockWise","holes","extrude","ExtrudeGeometry","makeGeometry","ShapeGeometry","getPointsHoles","getSpacedPointsHoles","extractAllPoints","shape","extractPoints","extractAllSpacedPoints","removeHoles","isolatedPts","allpoints","triangulateShape","b2p0","b2p1","b2p2","b3p0","b3p1","b3p2","b3p3","AnimationHandler","addToUpdate","removeFromUpdate","initialized","hierarchy","rot","usedMorphTargets","morphTargetsInfluences","fps","JIT","get","CATMULLROM","CATMULLROM_FORWARD","Animation","root","currentTime","timeScale","isPlaying","loop","isPaused","interpolationType","play","animationCache","prevKey","nextKey","originalMatrix","getNextKeyWith","pause","getPrevKeyWith","interpolateCatmullRom","KeyFrameAnimation","JITCompile","sids","node","startTimeMs","endTime","hasTarget","CubeCamera","renderTarget","updateCubeMap","CombinedCamera","cameraO","cameraP","zoom","toPerspective","inPerspectiveMode","inOrthographicMode","toOrthographic","setFov","setZoom","toFrontView","toBackView","toLeftView","toRightView","toTopView","toBottomView","AsteriskGeometry","CircleGeometry","shapebb","addShapeList","addShape","__v3","__v4","__v5","__v6","generateSideWallUV","generateBottomUV","generateTopUV","amount","bevelThickness","bevelSize","bevelSegments","bevelEnabled","steps","extrudePath","extrudeMaterial","UVGenerator","WorldUVGenerator","frames","TubeGeometry","FrenetFrames","reverse","binormals","LatheGeometry","TextGeometry","radialSegments","tubularSegments","TorusKnotGeometry","heightScale","grid","segments","radiusSegments","closed","tangents","ArrowHelper","MAX_VALUE","PolyhedronGeometry","OctahedronGeometry","TetrahedronGeometry","ParametricGeometry","ConvexGeometry","AxisHelper","line","cone","setDirection","__q1","setColor","CameraHelper","pointMap","__v","__projector","__c","DirectionalLightHelper","light","lightSphere","lightRays","isGizmo","gizmoSubject","gizmoRoot","targetSphere","targetLine","HemisphereLightHelper","lightArrow","lightArrowGround","PointLightHelper","lightDistance","SpotLightHelper","lightCone","gyroscope","lensFlares","customUpdateCallback","texture","updateLensFlares","wantedRotation","MorphBlendMesh","animationsMap","animationsList","createAnimation","setAnimationWeight","startFrame","endFrame","lastFrame","currentFrame","autoCreateAnimations","setAnimationDirectionForward","setAnimationDirectionBackward","setAnimationFPS","setAnimationDuration","setAnimationTime","getAnimationTime","getAnimationDuration","stopAnimation","ShaderFlares","lensFlare","lensFlareVertexTexture","vertex","renderType","occlusionMap","screenPosition","TEXTURE1","copyTexImage2D","isVirtual","pointsWorld","pointsFrustum","originalCamera","cameraHelper","customDepthMaterial","ShaderSprite","sprite","fogType","DepthPassPlugin","enabled","arr","tarGetId","obj","sumValue","computed","sum","created","mounted","GetBigData","res","methods","changeData","_this","ele","initMap","dataList","tooltip","formatter","params","dataRange","textStyle","splitList","geo","roam","label","show","itemStyle","borderColor","borderWidth","areaColor","colorStops","globalCoord","shadowColor","shadowOffsetX","shadowOffsetY","shadowBlur","emphasis","series","geoIndex","mapChina","sexAndAgeInit","trigger","legend","itemWidth","itemHeight","orient","fontStyle","labelLine","sexAndAge","getArrayValue","array2obj","resObj","getData","yAxis","clockWise","hoverAnimation","silent","xueliInit","arrValue","icon","itemGap","rich","title","containLabel","axisLine","axisTick","axisLabel","interval","inside","xAxis","xueli","loginNum","onZero","lineStyle","dataZoom","xAxisIndex","splitLine","areaStyle","symbol","smooth","enterpriseAnalogy","roseType","borderRadius","DataList","axisPointer","boundaryGap","barWidth","showBackground","backgroundStyle","barBorderRadius","x2","y2","global","ModelSumList"],"mappings":"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B,GAAGrmB,EAChB,EAAIoS,EAAEy2B,GAAGzhB,eAAexV,EAAIi3B,GAAGzhB,eAAevV,EAAG8U,EAAIC,GACtDE,EAAKxN,GAAE4M,GAAIC,GAAGC,GAAIC,IACnB1U,GAAEuT,EAAGC,EAAIC,EAAIC,EAAIggB,EAAIC,GACrBlsB,GAAE8L,EAAGC,EAAIC,EAAIC,EAAIggB,EAAIC,EAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAGxe,GAC3CnV,GAAE4zB,EAAIxf,EAAIT,EAAIC,EAAGsB,EAAIb,GACrB5M,GAAEmsB,EAAIxf,EAAIT,EAAIC,EAAGsB,EAAIb,EAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAGc,KAErDuf,GAAG5uB,MAAM6uB,KAGbttB,EAAE4uB,aAAa,EAAG,EAAG,EAAG,EAAG,EAAG,MAIpC9oC,EAAMqqC,YAAc,CAClBC,kBACE,2JACFC,aACE,gZACFC,qBACE,gSACFC,gBACE,+hCACFC,mBACE,gLACFC,gBACE,wbACFC,cACE,udACFC,2BAA4B,iDAC5BC,sBACE,0HACFC,gBACE,oKACFC,kBACE,wLACFC,WACE,oKACFC,aACE,6KACFC,uBACE,+EACFC,qBAAsB,kDACtBC,kBACE,0FACFC,gBAAiB,2CACjBC,sBACE,mvBACFC,wBACE,2iBACFC,0BACE,iEACFC,qBACE,oLACFC,2BACE,4hCACFC,sBACE,qgJACFC,yBACE,gfACFC,oBACE,44BACFC,2BACE,6wCACFC,sBACE,6mPACFC,oBAAqB,iDACrBC,eACE,mFACFC,kBAAmB,iDACnBC,aACE,wGACFC,qBACE,uyBACFC,gBACE,4HACFC,gBACE,sQACFC,wBACE,iKACFC,mBACE,uqBACFC,eACE,gYACFC,mBACE,2YACFC,kBACE,mRACFC,qBACE,yYACFC,wBACE,udACFC,mBACE,01LACFC,sBACE,qHACFC,iBACE,qIACFC,mBACE,uEACFC,yBACE,6EAEJntC,EAAMw2B,cAAgB,CACpB4W,MAAO,SAASnsC,GACd,IAAIC,EACFG,EACAC,EACAC,EAAI,GACN,IAAKL,EAAI,EAAGA,EAAID,EAAEO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B,EAAI3H,EAAEw+C,gBACNppC,EAAIpV,EAAEy+C,gBACN1+C,EAAEu6C,WAAW3yC,EAAEzB,EAAGyB,EAAExG,EAAGwG,EAAE3H,EAAGoV,GAC5BrV,EAAEw1C,OAAOx1C,EAAE08C,SAGf39C,EAAM4jE,aAAe,CACnBE,uBAAwB,CACtBpsC,aACE,+lCACFD,eACE,gcAEJosC,UAAW,CACTnsC,aACE,6dACFD,eACE,2uBAGNz3B,EAAM2kE,aAAe,CACnBC,OAAQ,CACNltC,aACE,4gCACFD,eACE,szB,qwCCnhiBS,0BACfgL,gBACA,OACA7jC,UACAC,YACAC,UACAC,gBACAC,gBACAC,aACAC,cACAC,iBAGA6lE,SACArnE,WACAsnE,WACAC,OACA1nE,YACA2nE,WACA3mE,aACAc,WACAE,YACAE,mBAGA0lE,UACAC,eACA,qBACA,+BACA,gBACA,MAIAC,mBACA,iBAEAC,mBAAA,gTACAC,uDAAA,OAAAC,SACA,qBACA,gBACA74C,EACA,kEACA,iDACA,kDACA,eAEA,iBACA,gBACA,yBACA,gBACA,0HAdA24C,GAgBAG,SACA/mE,mBACA,kBACA,oBAEAgnE,uBACA,gBACA,WAEA,OADAC,SACA,eACA,OACA,4CACAC,cACAA,qBACAD,iBAEAA,cACAA,mBACA,MACA,OACA,4CACAC,cACAA,qBACAD,iBAEAA,cACAA,mBACA,MACA,OACA,4CACAC,cACAA,kBACAD,iBAEAA,cACAA,mBACA,MACA,OACA,4CACAC,cACAA,uBACAD,iBAEAA,cACAA,mBACA,MACA,OACA,4CACAC,cACAA,mBACAD,iBAEAA,cACAA,mBACA,MACA,QACA,cAGAE,sBACA,SACA,EACArjC,uBACAsjC,QAAAvoE,YAAAE,mBAGA,4CACAmoE,cACAA,qBACAE,QAAAvoE,YAAAE,mBAGA,yBACAszB,oCACA,aAEA,GACAg1C,SACAC,0BACA,MAiCA,2DAhCA,UACA,OACA,2DACA,SAEA,OACA,uDACA,SAEA,OACA,uDACA,SAEA,OACA,uDACA,SAGA,OACA,sDACA,SAEA,QACA,OACAC,aACA,SACAA,OACA,IACAA,WAQAC,WACAvzD,QACAC,QACAuzD,WACA58C,eAEA68C,WACA,CAAApvD,SAAAuS,iBACA,CAAAvS,SAAAC,OAAAsS,iBACA,CAAAvS,SAAAC,OAAAsS,iBACA,CAAAvS,SAAAC,OAAAsS,iBACA,CAAAvS,QAAAC,OAAAsS,iBACA,CAAAvS,QAAAC,MAAAsS,gBAGA88C,KACAjzC,YACAkzC,QACAxJ,UACAyJ,OACAtpD,QACAupD,QACAt1C,cACA3H,0BAGAk9C,WACAxpD,QACAypD,qCACAC,cACAC,WACAplD,cACA7O,KACAC,KACAzL,KACA0/D,YACA,CACAp0C,SACAlJ,gCAEA,CACAkJ,SACAlJ,kCAGAu9C,gBAEAC,qCAEAC,iBACAC,gBACAC,eAEAC,UACAP,oBACAD,iBAIAS,QACA,CACA7pE,WACAikB,WACA+kD,OACAtpD,QACAupD,QACAL,WACA58C,kBAGA49C,UAEAX,QACAL,WACA58C,mBAIA89C,WACA7kC,UAIA8kC,eACAzlE,6CACAylE,eAKAC,yBACA,WACA,qBACAx2C,qCACA,YAwGA,GACAg1C,SACAyB,eACAxB,uCAEAyB,QACAC,aACAC,cACAC,kBACAzB,WACA0B,iBACAt+C,cAEA4D,UACAD,YACAsV,gBACA,SAOA,OANAmjC,4CACAZ,iBAEAY,4CACAZ,iBAEA,EARAviC,IAWA4kC,QACA,CACA7pE,aACAikB,WACAtK,qBACA6B,iBACAwtD,OACAC,QACAxkD,mBAEA8lD,WACAtB,SAEAhkC,gBACA,SAMA,OALAmjC,4CACAC,cACAA,aACAb,aAEA,EAPAviC,IAUA,CACAjlC,aACAikB,WACAtK,qBACA6B,qBACAwtD,OACAC,QACAxkD,mBAEA8lD,WACAtB,SAEAhkC,gBACA,SAMA,OALAmjC,4CACAC,cACAA,aACAb,aAEA,EAPAviC,MAYAulC,eACAlmE,6CACAkmE,eAGAC,4BACA,iBACA,KAMA,OALA,GACAz7C,uBACAi5C,gBAGA,GAEAyC,wBAEA,IADA,SACA,mBACAC,gBAEA,UAEAC,oBAKA,IAJA,OACAf,UACAgB,UAEA,mBAEA5C,eACAjoE,QACAikB,WACA6mD,aACAC,kBACAvvD,iCACA7B,qBACAqvD,OACAC,SAEAC,WACAF,OACAC,SAEAsB,WACAtB,SAEAG,eAEAnkC,MACA,CACA/kC,iBACAF,gBAEA,CACAE,+BACAF,QACAkpE,WACAl9C,sBACAo9C,eAEAZ,SACAS,SAEA8B,sBAIA9C,eACAjoE,QACAikB,WACA+mD,UACA11D,IACAw1D,aACAC,kBACAvvD,iCACA7B,qBACAqvD,OACAC,SAEAC,WACAF,OACAC,SAEAsB,WACAtB,SAEAG,eAEAnkC,MACA,CACA/kC,UACAgpE,WACAl9C,uBACAo9C,eAEAZ,SACAS,SAEA8B,mBAEA,CACA7qE,UACAF,QACAkpE,WACAl9C,sBACAo9C,eAEAZ,SACAS,SAEA8B,sBAIA9C,cACA,8CAGA,UAGAgD,+BACA,eACA,yBACAz3C,iCACA,YA4EA,wDACA,yDACA,kCACA,oDACA,+CAYA,4BACA,eACA,KAMA,OALA,GACAxE,uBACAi5C,gBAGA,EAGA,wBAEA,IADA,SACA,mBACA0C,gBAEA,SAGA,oBAKA,IAJA,OACAd,UACAgB,UAEA,mBAEA5C,eACAjoE,QACAikB,WACA6mD,aACAC,kBACAvvD,iCACA7B,qBACAqvD,OACAC,SAEAC,WACAF,OACAC,SAEAsB,WACAtB,SAEAG,eAEAnkC,MACA,CACA/kC,eACAF,eAEA,CACAE,wBACAF,QACAkpE,WACAl9C,sBACAo9C,eAEAZ,SACAS,SAEA8B,sBAIA9C,eACAjoE,QACAikB,WACA+mD,UACA11D,IACAw1D,aACAC,kBACAvvD,iCACA7B,qBACAqvD,OACAC,SAEAC,WACAF,OACAC,SAEAsB,WACAtB,SAEAG,eAEAnkC,MACA,CACA/kC,UACAgpE,WACAl9C,uBACAo9C,eAEAZ,SACAS,SAEA8B,mBAEA,CACA7qE,UACAF,QACAkpE,WACAl9C,sBACAo9C,eAEAZ,SACAS,SAEA8B,sBAIA9C,uDAEA,SA5HA,8CACA,OACAjoE,OACAE,MAKA6B,KAJAmpE,YACAA,+BACA,aACA,IACAnpE,mBAuHA,YAEAmoE,QACAjB,QACAkC,eACAv7C,aACAF,WACAuV,aACA1U,SACAuD,cACAs3C,WACA3C,sBACA,mDAGAG,WACAyC,MACAC,OAGAt/C,0BAEA9rB,OAGA8rB,iBAKAw8C,SACAS,QACAgB,eACAxB,kCAEAz8C,OACA,oBACA,mBACA,mBACA,oBAEAq2C,MACAzyC,UACAC,aACAH,WACA67C,iBAEAV,OACA,CACA5mD,gBACAlO,WACAy1D,UACAvC,SAEAwC,UACAxC,SAEAyC,WACAC,WACAC,UACAhD,WACA58C,aACA2H,aAEAs1C,SAEAhkC,wBAGA4mC,OACA,CACA5C,UAGAY,0BAGAiC,wBACAxnE,6CACAwnE,mBAIAC,oBACA,WACA,qBACAv4C,oCACA,YAEA,GAQA6uC,MACAzyC,QAEAi8C,OACA5nD,gBACAunD,UACAQ,UACAC,WACAjgD,eAGAy/C,UACAxC,QACAgD,WACAjgD,eAGAiZ,gBACA,SAIA,OAHAmjC,0CACAZ,kBAEA,YALAviC,IAQAinC,UACA,CACAjoD,cACAglD,QACAkD,eACAz8C,UACAG,UACApW,SACAmvD,WACA58C,cAEAtS,UAGAmxD,OACA5mD,aACAmoD,WACAH,WACAhoD,cACA+H,kBAGAw/C,UACAvC,QACAgD,WACAjgD,eAGAy/C,UACAxC,QACAgD,WACAjgD,gBAIA69C,QACA,CACA5kC,gBACA,SAIA,OAHAmjC,0CACAZ,iBAEA,YALAviC,GAOAhhB,YACAilD,WACAxpD,QACA2sD,WAAApoD,gBACA+H,8BAGAigD,WACAjgD,iBAEAsgD,cACAC,YAGA/D,SACAyB,eACAxB,yBAIAsD,eACAznE,6CACAynE,eAIAS,6BAAA,MACA,OACA,kBACAh5C,6CACA,YAEA,GAQAg1C,SACAyB,eACAxB,wCAEAyB,WACAjmD,cACAomD,kBACAF,aACAC,eAAA,oKACA,mLACA,CACAE,iBACAt+C,eACA,iKACA,yKACA,yKACA,WACA,SAIA,OAHAo8C,gDACAZ,kBAEA,EALA,IAMA,GAEAqC,QACA,CACA7pE,UACAikB,WACAzI,qBACAixD,kBACAzD,OACAC,QACAxkD,mBAEAykD,WACAwD,gBAEAnC,WACAtB,SAEAtvD,qBACAsrB,gBACA,SAIA,OAHAmjC,gDACAZ,QAAAtnE,YAAAF,iBAEA,EALAilC,GAOA2kC,UACAV,WACAS,cACAF,gBACAD,sCAMAgD,eACAloE,6CACAkoE,eAGAG,oBACA,WACA,kBACAn5C,oCACA,YAEA,GACAg1C,SACAyB,eACA2C,aACA3oD,eAEAglD,SAEAiB,QACAjB,SAEA5G,MACA3yC,UACAC,WACAE,YACAD,SACA27C,iBAEAM,OACA5C,QACAhlD,aACA4oD,qBAEAhC,OACA5mD,gBACAunD,UACAvC,QACAgD,WACAjgD,eAGAy/C,UACAxC,QACAgD,WACAjgD,eAGAiZ,gBACA,SAIA,OAHAmjC,yCACAZ,kBAEA,EALAviC,IAQA4kC,QACA,CACA7pE,UACAikB,WACAghB,gBACA,SAIA,OAHAmjC,yCACAZ,QAAAtnE,YAAAF,iBAEA,EALAilC,GAOA6nC,YACAC,kBACAC,iBACAhhD,iCACAihD,0BACA9D,mCACAC,eAEAJ,OACAC,QACA/zC,eAGAs0C,0BACAf,iBAEAS,WACAxpD,QACAutD,8BACAjhD,OACA/H,cACA7O,IACAC,IACA63D,KACAC,KACA7D,YACA,CACAp0C,SACAlJ,iBAEA,CACAkJ,SACAlJ,kBAGAohD,gBAQAT,eACAroE,6CACAqoE,eAGAU,wBACA,WACA,kBACA75C,wCACA,YAEA,GACAg1C,SACAyB,eACAxB,wBAEApG,MACAzyC,QAEAs8C,UACA,CACAjoD,cACAglD,QACAkD,eACAz8C,UACAG,UACApW,SACAmvD,WACA58C,cAEAtS,UAGAmyD,OACA5nD,gBACAunD,UACAQ,UACAC,WACAjgD,eAGAy/C,UACAxC,QACAgD,WACAjgD,eAGAiZ,gBACA,SAIA,OAHAmjC,6CACAZ,kBAEA,EALAviC,IAQA4lC,OACA5mD,aACAunD,UACAvC,QACA+C,UACAC,WACAjgD,kBAGAogD,WACAH,WACAhoD,cACA+H,kBAGAy/C,UACAxC,QACAgD,WACAjgD,gBAIA69C,QACA,CACA5kC,gBACA,SAIA,OAHAmjC,6CACAZ,iBAEA,EALAviC,GAOAhhB,WACA6oD,YACA5D,WACAxpD,QACAutD,8BACAjhD,OACA/H,cACA7O,IACAC,IACA63D,KACAC,KACA7D,YACA,CACAp0C,SACAlJ,iBAEA,CACAkJ,SACAlJ,kBAGAohD,aAIAL,kBACAC,iBACAhhD,iCACAihD,0BACA9D,mCACAC,kBAMAiE,eACA/oE,6CACA+oE,kB,qBCt+CA7tE,EAAOC,QAAU,IAA0B","file":"js/chunk-0b617cb5.e3e3e493.js","sourcesContent":["export * from \"-!../../../node_modules/_mini-css-extract-plugin@0.8.2@mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/_css-loader@1.0.1@css-loader/index.js??ref--8-oneOf-1-1!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/_sass-loader@7.3.1@sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./enterpriseDataView.vue?vue&type=style&index=0&id=7deaf125&prod&scoped=true&lang=scss&\"","module.exports = __webpack_public_path__ + \"img/Group 937.b9963d6d.png\";","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],staticClass:\"dataView flex\"},[_vm._m(0),_c('div',{staticStyle:{\"width\":\"100%\",\"height\":\"100%\"}},[_c('div',{staticClass:\"header flex\"},[_c('div',{staticStyle:{\"color\":\"white\",\"font-weight\":\"900\",\"font-size\":\"20px\",\"margin-left\":\"40px\",\"font-style\":\"oblique\",\"padding-left\":\"20px\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$store.state.adminSetting.adst02 || \"BIM协同管理云平台\")+\"大数据\\n \")]),_vm._m(1)]),_c('div',{staticClass:\"data_content\"},[_c('div',{staticClass:\"data_main\"},[_c('div',{staticClass:\"data_main_top flex\"},[_c('div',{staticClass:\"main_top1 flex_center\",class:{ active: _vm.currentTop === 1 },on:{\"click\":function($event){return _vm.handle(1)}}},[_c('div',{staticClass:\"mainbg1\"},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.viewData.MapsList),expression:\"viewData.MapsList\"}],staticClass:\"fontS28\"},[_vm._v(\"\\n \"+_vm._s(_vm.viewData.trueData.companySum)+\"\\n \")]),_c('div',{staticClass:\"colorGray\"},[_vm._v(\"企业总数\")])])]),_c('div',{staticClass:\"main_top1 flex_center\",class:{ active: _vm.currentTop === 2 },on:{\"click\":function($event){return _vm.handle(2)}}},[_c('div',{staticClass:\"mainbg1 mainbg2\"},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.viewData.MapsList),expression:\"viewData.MapsList\"}],staticClass:\"fontS28\"},[_vm._v(\"\\n \"+_vm._s(_vm.viewData.trueData.projectSum)+\"\\n \")]),_c('div',{staticClass:\"colorGray\"},[_vm._v(\"项目总数\")])])]),_c('div',{staticClass:\"main_top1 flex_center\",class:{ active: _vm.currentTop === 3 },on:{\"click\":function($event){return _vm.handle(3)}}},[_c('div',{staticClass:\"mainbg1 mainbg3\"},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.viewData.MapsList),expression:\"viewData.MapsList\"}],staticClass:\"fontS28\"},[_vm._v(\"\\n \"+_vm._s(_vm.viewData.trueData.userSum)+\"\\n \")]),_c('div',{staticClass:\"colorGray\"},[_vm._v(\"用户总数\")])])]),_c('div',{staticClass:\"main_top1 flex_center\",class:{ active: _vm.currentTop === 5 },on:{\"click\":function($event){return _vm.handle(5)}}},[_c('div',{staticClass:\"mainbg1 mainbg4\"},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.viewData.MapsList),expression:\"viewData.MapsList\"}],staticClass:\"fontS28\"},[_vm._v(\"\\n \"+_vm._s(_vm.viewData.trueData.modelSum)+\"\\n \")]),_c('div',{staticClass:\"colorGray\"},[_vm._v(\"模型总数\")])])]),_c('div',{staticClass:\"main_top1 flex_center\",class:{ active: _vm.currentTop === 4 },on:{\"click\":function($event){return _vm.handle(4)}}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.viewData.MapsList),expression:\"viewData.MapsList\"}],staticClass:\"mainbg1 mainbg5\"},[_c('div',{staticClass:\"fontS28\"},[_vm._v(\"\\n \"+_vm._s(_vm.viewData.trueData.modelSize)+\"GB\\n \")]),_c('div',{staticClass:\"colorGray\"},[_vm._v(\"模型容量\")])])])]),_c('div',{staticClass:\"main_left fl\"},[_c('div',{staticClass:\"left_1 t_btn6\"},[_c('div',{staticClass:\"main_title1\"},[_vm._v(\"男女占比\")]),_c('div',{staticClass:\"flex\",staticStyle:{\"justify-content\":\"space-around\",\"margin-top\":\"40px\"}},[_c('div',{staticClass:\"flex\"},[_c('img',{attrs:{\"src\":require(\"../../assets/admin/dataImg/Group 937.png\"),\"width\":\"60\",\"alt\":\"\"}}),_c('div',{staticStyle:{\"color\":\"white\",\"margin-left\":\"10px\"}},[_c('p',[_vm._v(\"男\")]),_c('p',{staticStyle:{\"color\":\"#03bed6\"}},[_vm._v(\"\\n \"+_vm._s(_vm.manCount.toFixed(2) * 100)+\"%\\n \")])])]),_c('div',{staticClass:\"flex\"},[_c('img',{attrs:{\"src\":require(\"../../assets/admin/dataImg/Group 936.png\"),\"width\":\"60\",\"alt\":\"\"}}),_c('div',{staticStyle:{\"color\":\"white\",\"margin-left\":\"10px\"}},[_c('p',[_vm._v(\"女\")]),_c('p',{staticStyle:{\"color\":\"#03bed6\"}},[_vm._v(\"\\n \"+_vm._s(_vm.girlCount.toFixed(2) * 100)+\"%\\n \")])])])])]),_c('div',{staticClass:\"left_2\"},[_c('div',{staticClass:\"main_title1\"},[_vm._v(\"年龄占比\")]),_c('div',{staticClass:\"width-he100 flex\",staticStyle:{\"height\":\"90%\"}},[_c('div',{staticClass:\"width-he100\",attrs:{\"id\":\"xueli\"}}),_c('div',{staticClass:\"width-he100 flex_center\",staticStyle:{\"width\":\"50%\",\"color\":\"#fff\",\"justify-content\":\"space-between\",\"margin-right\":\"5%\"}},_vm._l((_vm.ageProportion),function(item,index){return _c('div',{key:index,staticClass:\"xueName flex\",staticStyle:{\"justify-content\":\"space-around\"}},[_c('div',[_vm._v(_vm._s(item.name))]),_c('div',[_vm._v(_vm._s(item.value))])])}),0)])]),_vm._m(2)]),_vm._m(3),_vm._m(4)])])])])\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticStyle:{\"width\":\"1%\",\"height\":\"100%\"}},[_c('div',{staticClass:\"lineStyle_1\",staticStyle:{\"position\":\"absolute\",\"left\":\"-19.3%\",\"transform\":\"rotateY(180deg) rotate(270deg)\",\"top\":\"53%\",\"z-index\":\"9999\",\"width\":\"40%\"}},[_c('div',{staticClass:\"lineStyle_2\"}),_c('div',{staticClass:\"lineStyle_3\"})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"lineStyle_1\",staticStyle:{\"width\":\"72%\"}},[_c('div',{staticClass:\"lineStyle_2\"}),_c('div',{staticClass:\"lineStyle_3\"})])\n},function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"left_2\"},[_c('div',{staticClass:\"main_title1\",staticStyle:{\"padding-left\":\"11%\"}},[_c('img',{attrs:{\"alt\":\"\"}}),_vm._v(\"\\n 登录人数统计\\n \")]),_c('div',{staticClass:\"width-he100\",attrs:{\"id\":\"loginNum\"}})])\n},function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"main_center fl\"},[_c('div',{staticClass:\"center_text\"},[_c('div',{staticClass:\"width-he100\",staticStyle:{\"height\":\"100%\"},attrs:{\"id\":\"mapChina\"}})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"main_right fr\"},[_c('div',{staticClass:\"right_1\"},[_c('div',{staticClass:\"main_title1\",staticStyle:{\"padding-left\":\"11%\"}},[_vm._v(\"\\n 企业类别情况\\n \")]),_c('div',{staticClass:\"width-he100\",attrs:{\"id\":\"enterpriseAnalogy\"}})]),_c('div',{staticClass:\"right_2\"},[_c('div',{staticClass:\"main_title1\",staticStyle:{\"padding-left\":\"11%\"}},[_vm._v(\"\\n 业务数据统计\\n \")]),_c('div',{staticClass:\"width-he100\",attrs:{\"id\":\"DataList\"}})]),_c('div',{staticClass:\"right_2\"},[_c('div',{staticClass:\"main_title1\",staticStyle:{\"padding-left\":\"11%\"}},[_vm._v(\"\\n 模型上传总量\\n \")]),_c('div',{staticClass:\"width-he100\",attrs:{\"id\":\"ModelSumList\"}})])])\n}]\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./enterpriseDataView.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/_thread-loader@2.1.3@thread-loader/dist/cjs.js!../../../node_modules/_babel-loader@8.3.0@babel-loader/lib/index.js!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/index.js??vue-loader-options!./enterpriseDataView.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./enterpriseDataView.vue?vue&type=template&id=7deaf125&scoped=true&\"\nimport script from \"./enterpriseDataView.vue?vue&type=script&lang=js&\"\nexport * from \"./enterpriseDataView.vue?vue&type=script&lang=js&\"\nimport style0 from \"./enterpriseDataView.vue?vue&type=style&index=0&id=7deaf125&prod&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/_vue-loader@15.10.1@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7deaf125\",\n null\n \n)\n\nexport default component.exports","// three.js - http://github.com/mrdoob/three.js\r\n\"use strict\";\r\nvar THREE = THREE || { REVISION: \"56\" };\r\nself.console = self.console || {\r\n info: function() {},\r\n log: function() {},\r\n debug: function() {},\r\n warn: function() {},\r\n error: function() {}\r\n};\r\nself.Int32Array = self.Int32Array || Array;\r\nself.Float32Array = self.Float32Array || Array;\r\nString.prototype.trim =\r\n String.prototype.trim ||\r\n function() {\r\n return this.replace(/^\\s+|\\s+$/g, \"\");\r\n };\r\nTHREE.extend = function(a, b) {\r\n if (Object.keys)\r\n for (var c = Object.keys(b), d = 0, e = c.length; d < e; d++) {\r\n var f = c[d];\r\n Object.defineProperty(a, f, Object.getOwnPropertyDescriptor(b, f));\r\n }\r\n else for (f in ((c = {}.hasOwnProperty), b)) c.call(b, f) && (a[f] = b[f]);\r\n return a;\r\n};\r\n(function() {\r\n for (\r\n var a = 0, b = [\"ms\", \"moz\", \"webkit\", \"o\"], c = 0;\r\n c < b.length && !window.requestAnimationFrame;\r\n ++c\r\n )\r\n (window.requestAnimationFrame = window[b[c] + \"RequestAnimationFrame\"]),\r\n (window.cancelAnimationFrame =\r\n window[b[c] + \"CancelAnimationFrame\"] ||\r\n window[b[c] + \"CancelRequestAnimationFrame\"]);\r\n void 0 === window.requestAnimationFrame &&\r\n (window.requestAnimationFrame = function(b) {\r\n var c = Date.now(),\r\n f = Math.max(0, 16 - (c - a)),\r\n g = window.setTimeout(function() {\r\n b(c + f);\r\n }, f);\r\n a = c + f;\r\n return g;\r\n });\r\n window.cancelAnimationFrame =\r\n window.cancelAnimationFrame ||\r\n function(a) {\r\n window.clearTimeout(a);\r\n };\r\n})();\r\nTHREE.CullFaceNone = 0;\r\nTHREE.CullFaceBack = 1;\r\nTHREE.CullFaceFront = 2;\r\nTHREE.CullFaceFrontBack = 3;\r\nTHREE.FrontFaceDirectionCW = 0;\r\nTHREE.FrontFaceDirectionCCW = 1;\r\nTHREE.BasicShadowMap = 0;\r\nTHREE.PCFShadowMap = 1;\r\nTHREE.PCFSoftShadowMap = 2;\r\nTHREE.FrontSide = 0;\r\nTHREE.BackSide = 1;\r\nTHREE.DoubleSide = 2;\r\nTHREE.NoShading = 0;\r\nTHREE.FlatShading = 1;\r\nTHREE.SmoothShading = 2;\r\nTHREE.NoColors = 0;\r\nTHREE.FaceColors = 1;\r\nTHREE.VertexColors = 2;\r\nTHREE.NoBlending = 0;\r\nTHREE.NormalBlending = 1;\r\nTHREE.AdditiveBlending = 2;\r\nTHREE.SubtractiveBlending = 3;\r\nTHREE.MultiplyBlending = 4;\r\nTHREE.CustomBlending = 5;\r\nTHREE.AddEquation = 100;\r\nTHREE.SubtractEquation = 101;\r\nTHREE.ReverseSubtractEquation = 102;\r\nTHREE.ZeroFactor = 200;\r\nTHREE.OneFactor = 201;\r\nTHREE.SrcColorFactor = 202;\r\nTHREE.OneMinusSrcColorFactor = 203;\r\nTHREE.SrcAlphaFactor = 204;\r\nTHREE.OneMinusSrcAlphaFactor = 205;\r\nTHREE.DstAlphaFactor = 206;\r\nTHREE.OneMinusDstAlphaFactor = 207;\r\nTHREE.DstColorFactor = 208;\r\nTHREE.OneMinusDstColorFactor = 209;\r\nTHREE.SrcAlphaSaturateFactor = 210;\r\nTHREE.MultiplyOperation = 0;\r\nTHREE.MixOperation = 1;\r\nTHREE.AddOperation = 2;\r\nTHREE.UVMapping = function() {};\r\nTHREE.CubeReflectionMapping = function() {};\r\nTHREE.CubeRefractionMapping = function() {};\r\nTHREE.SphericalReflectionMapping = function() {};\r\nTHREE.SphericalRefractionMapping = function() {};\r\nTHREE.RepeatWrapping = 1e3;\r\nTHREE.ClampToEdgeWrapping = 1001;\r\nTHREE.MirroredRepeatWrapping = 1002;\r\nTHREE.NearestFilter = 1003;\r\nTHREE.NearestMipMapNearestFilter = 1004;\r\nTHREE.NearestMipMapLinearFilter = 1005;\r\nTHREE.LinearFilter = 1006;\r\nTHREE.LinearMipMapNearestFilter = 1007;\r\nTHREE.LinearMipMapLinearFilter = 1008;\r\nTHREE.UnsignedByteType = 1009;\r\nTHREE.ByteType = 1010;\r\nTHREE.ShortType = 1011;\r\nTHREE.UnsignedShortType = 1012;\r\nTHREE.IntType = 1013;\r\nTHREE.UnsignedIntType = 1014;\r\nTHREE.FloatType = 1015;\r\nTHREE.UnsignedShort4444Type = 1016;\r\nTHREE.UnsignedShort5551Type = 1017;\r\nTHREE.UnsignedShort565Type = 1018;\r\nTHREE.AlphaFormat = 1019;\r\nTHREE.RGBFormat = 1020;\r\nTHREE.RGBAFormat = 1021;\r\nTHREE.LuminanceFormat = 1022;\r\nTHREE.LuminanceAlphaFormat = 1023;\r\nTHREE.RGB_S3TC_DXT1_Format = 2001;\r\nTHREE.RGBA_S3TC_DXT1_Format = 2002;\r\nTHREE.RGBA_S3TC_DXT3_Format = 2003;\r\nTHREE.RGBA_S3TC_DXT5_Format = 2004;\r\nTHREE.Color = function(a) {\r\n void 0 !== a && this.set(a);\r\n return this;\r\n};\r\nTHREE.extend(THREE.Color.prototype, {\r\n r: 1,\r\n g: 1,\r\n b: 1,\r\n set: function(a) {\r\n switch (typeof a) {\r\n case \"number\":\r\n this.setHex(a);\r\n break;\r\n case \"string\":\r\n this.setStyle(a);\r\n }\r\n },\r\n setHex: function(a) {\r\n a = Math.floor(a);\r\n this.r = ((a >> 16) & 255) / 255;\r\n this.g = ((a >> 8) & 255) / 255;\r\n this.b = (a & 255) / 255;\r\n return this;\r\n },\r\n setRGB: function(a, b, c) {\r\n this.r = a;\r\n this.g = b;\r\n this.b = c;\r\n return this;\r\n },\r\n setHSV: function(a, b, c) {\r\n console.log(\r\n \"DEPRECATED: Color's .setHSV() will be removed. Use .setHSL( h, s, l ) instead.\"\r\n );\r\n return this.setHSL(a, (b * c) / (1 > (a = (2 - b) * c) ? a : 2 - a), a / 2);\r\n },\r\n setHSL: function(a, b, c) {\r\n if (0 === b) this.r = this.g = this.b = c;\r\n else {\r\n var d = function(a, b, c) {\r\n 0 > c && (c += 1);\r\n 1 < c && (c -= 1);\r\n return c < 1 / 6\r\n ? a + 6 * (b - a) * c\r\n : 0.5 > c\r\n ? b\r\n : c < 2 / 3\r\n ? a + 6 * (b - a) * (2 / 3 - c)\r\n : a;\r\n },\r\n b = 0.5 >= c ? c * (1 + b) : c + b - c * b,\r\n c = 2 * c - b;\r\n this.r = d(c, b, a + 1 / 3);\r\n this.g = d(c, b, a);\r\n this.b = d(c, b, a - 1 / 3);\r\n }\r\n return this;\r\n },\r\n setStyle: function(a) {\r\n if (/^rgb\\((\\d+),(\\d+),(\\d+)\\)$/i.test(a))\r\n return (\r\n (a = /^rgb\\((\\d+),(\\d+),(\\d+)\\)$/i.exec(a)),\r\n (this.r = Math.min(255, parseInt(a[1], 10)) / 255),\r\n (this.g = Math.min(255, parseInt(a[2], 10)) / 255),\r\n (this.b = Math.min(255, parseInt(a[3], 10)) / 255),\r\n this\r\n );\r\n if (/^rgb\\((\\d+)\\%,(\\d+)\\%,(\\d+)\\%\\)$/i.test(a))\r\n return (\r\n (a = /^rgb\\((\\d+)\\%,(\\d+)\\%,(\\d+)\\%\\)$/i.exec(a)),\r\n (this.r = Math.min(100, parseInt(a[1], 10)) / 100),\r\n (this.g = Math.min(100, parseInt(a[2], 10)) / 100),\r\n (this.b = Math.min(100, parseInt(a[3], 10)) / 100),\r\n this\r\n );\r\n if (/^\\#([0-9a-f]{6})$/i.test(a))\r\n return (\r\n (a = /^\\#([0-9a-f]{6})$/i.exec(a)),\r\n this.setHex(parseInt(a[1], 16)),\r\n this\r\n );\r\n if (/^\\#([0-9a-f])([0-9a-f])([0-9a-f])$/i.test(a))\r\n return (\r\n (a = /^\\#([0-9a-f])([0-9a-f])([0-9a-f])$/i.exec(a)),\r\n this.setHex(parseInt(a[1] + a[1] + a[2] + a[2] + a[3] + a[3], 16)),\r\n this\r\n );\r\n if (/^(\\w+)$/i.test(a)) return this.setHex(THREE.ColorKeywords[a]), this;\r\n },\r\n copy: function(a) {\r\n this.r = a.r;\r\n this.g = a.g;\r\n this.b = a.b;\r\n return this;\r\n },\r\n copyGammaToLinear: function(a) {\r\n this.r = a.r * a.r;\r\n this.g = a.g * a.g;\r\n this.b = a.b * a.b;\r\n return this;\r\n },\r\n copyLinearToGamma: function(a) {\r\n this.r = Math.sqrt(a.r);\r\n this.g = Math.sqrt(a.g);\r\n this.b = Math.sqrt(a.b);\r\n return this;\r\n },\r\n convertGammaToLinear: function() {\r\n var a = this.r,\r\n b = this.g,\r\n c = this.b;\r\n this.r = a * a;\r\n this.g = b * b;\r\n this.b = c * c;\r\n return this;\r\n },\r\n convertLinearToGamma: function() {\r\n this.r = Math.sqrt(this.r);\r\n this.g = Math.sqrt(this.g);\r\n this.b = Math.sqrt(this.b);\r\n return this;\r\n },\r\n getHex: function() {\r\n return (\r\n ((255 * this.r) << 16) ^ ((255 * this.g) << 8) ^ ((255 * this.b) << 0)\r\n );\r\n },\r\n getHexString: function() {\r\n return (\"000000\" + this.getHex().toString(16)).slice(-6);\r\n },\r\n getHSL: (function() {\r\n var a = { h: 0, s: 0, l: 0 };\r\n return function() {\r\n var b = this.r,\r\n c = this.g,\r\n d = this.b,\r\n e = Math.max(b, c, d),\r\n f = Math.min(b, c, d),\r\n g,\r\n h = (f + e) / 2;\r\n if (f === e) f = g = 0;\r\n else {\r\n var i = e - f,\r\n f = 0.5 >= h ? i / (e + f) : i / (2 - e - f);\r\n switch (e) {\r\n case b:\r\n g = (c - d) / i + (c < d ? 6 : 0);\r\n break;\r\n case c:\r\n g = (d - b) / i + 2;\r\n break;\r\n case d:\r\n g = (b - c) / i + 4;\r\n }\r\n g /= 6;\r\n }\r\n a.h = g;\r\n a.s = f;\r\n a.l = h;\r\n return a;\r\n };\r\n })(),\r\n getStyle: function() {\r\n return (\r\n \"rgb(\" +\r\n ((255 * this.r) | 0) +\r\n \",\" +\r\n ((255 * this.g) | 0) +\r\n \",\" +\r\n ((255 * this.b) | 0) +\r\n \")\"\r\n );\r\n },\r\n offsetHSL: function(a, b, c) {\r\n var d = this.getHSL();\r\n d.h += a;\r\n d.s += b;\r\n d.l += c;\r\n this.setHSL(d.h, d.s, d.l);\r\n return this;\r\n },\r\n add: function(a) {\r\n this.r += a.r;\r\n this.g += a.g;\r\n this.b += a.b;\r\n return this;\r\n },\r\n addColors: function(a, b) {\r\n this.r = a.r + b.r;\r\n this.g = a.g + b.g;\r\n this.b = a.b + b.b;\r\n return this;\r\n },\r\n addScalar: function(a) {\r\n this.r += a;\r\n this.g += a;\r\n this.b += a;\r\n return this;\r\n },\r\n multiply: function(a) {\r\n this.r *= a.r;\r\n this.g *= a.g;\r\n this.b *= a.b;\r\n return this;\r\n },\r\n multiplyScalar: function(a) {\r\n this.r *= a;\r\n this.g *= a;\r\n this.b *= a;\r\n return this;\r\n },\r\n lerp: function(a, b) {\r\n this.r += (a.r - this.r) * b;\r\n this.g += (a.g - this.g) * b;\r\n this.b += (a.b - this.b) * b;\r\n return this;\r\n },\r\n clone: function() {\r\n return new THREE.Color().setRGB(this.r, this.g, this.b);\r\n }\r\n});\r\nTHREE.ColorKeywords = {\r\n aliceblue: 15792383,\r\n antiquewhite: 16444375,\r\n aqua: 65535,\r\n aquamarine: 8388564,\r\n azure: 15794175,\r\n beige: 16119260,\r\n bisque: 16770244,\r\n black: 0,\r\n blanchedalmond: 16772045,\r\n blue: 255,\r\n blueviolet: 9055202,\r\n brown: 10824234,\r\n burlywood: 14596231,\r\n cadetblue: 6266528,\r\n chartreuse: 8388352,\r\n chocolate: 13789470,\r\n coral: 16744272,\r\n cornflowerblue: 6591981,\r\n cornsilk: 16775388,\r\n crimson: 14423100,\r\n cyan: 65535,\r\n darkblue: 139,\r\n darkcyan: 35723,\r\n darkgoldenrod: 12092939,\r\n darkgray: 11119017,\r\n darkgreen: 25600,\r\n darkgrey: 11119017,\r\n darkkhaki: 12433259,\r\n darkmagenta: 9109643,\r\n darkolivegreen: 5597999,\r\n darkorange: 16747520,\r\n darkorchid: 10040012,\r\n darkred: 9109504,\r\n darksalmon: 15308410,\r\n darkseagreen: 9419919,\r\n darkslateblue: 4734347,\r\n darkslategray: 3100495,\r\n darkslategrey: 3100495,\r\n darkturquoise: 52945,\r\n darkviolet: 9699539,\r\n deeppink: 16716947,\r\n deepskyblue: 49151,\r\n dimgray: 6908265,\r\n dimgrey: 6908265,\r\n dodgerblue: 2003199,\r\n firebrick: 11674146,\r\n floralwhite: 16775920,\r\n forestgreen: 2263842,\r\n fuchsia: 16711935,\r\n gainsboro: 14474460,\r\n ghostwhite: 16316671,\r\n gold: 16766720,\r\n goldenrod: 14329120,\r\n gray: 8421504,\r\n green: 32768,\r\n greenyellow: 11403055,\r\n grey: 8421504,\r\n honeydew: 15794160,\r\n hotpink: 16738740,\r\n indianred: 13458524,\r\n indigo: 4915330,\r\n ivory: 16777200,\r\n khaki: 15787660,\r\n lavender: 15132410,\r\n lavenderblush: 16773365,\r\n lawngreen: 8190976,\r\n lemonchiffon: 16775885,\r\n lightblue: 11393254,\r\n lightcoral: 15761536,\r\n lightcyan: 14745599,\r\n lightgoldenrodyellow: 16448210,\r\n lightgray: 13882323,\r\n lightgreen: 9498256,\r\n lightgrey: 13882323,\r\n lightpink: 16758465,\r\n lightsalmon: 16752762,\r\n lightseagreen: 2142890,\r\n lightskyblue: 8900346,\r\n lightslategray: 7833753,\r\n lightslategrey: 7833753,\r\n lightsteelblue: 11584734,\r\n lightyellow: 16777184,\r\n lime: 65280,\r\n limegreen: 3329330,\r\n linen: 16445670,\r\n magenta: 16711935,\r\n maroon: 8388608,\r\n mediumaquamarine: 6737322,\r\n mediumblue: 205,\r\n mediumorchid: 12211667,\r\n mediumpurple: 9662683,\r\n mediumseagreen: 3978097,\r\n mediumslateblue: 8087790,\r\n mediumspringgreen: 64154,\r\n mediumturquoise: 4772300,\r\n mediumvioletred: 13047173,\r\n midnightblue: 1644912,\r\n mintcream: 16121850,\r\n mistyrose: 16770273,\r\n moccasin: 16770229,\r\n navajowhite: 16768685,\r\n navy: 128,\r\n oldlace: 16643558,\r\n olive: 8421376,\r\n olivedrab: 7048739,\r\n orange: 16753920,\r\n orangered: 16729344,\r\n orchid: 14315734,\r\n palegoldenrod: 15657130,\r\n palegreen: 10025880,\r\n paleturquoise: 11529966,\r\n palevioletred: 14381203,\r\n papayawhip: 16773077,\r\n peachpuff: 16767673,\r\n peru: 13468991,\r\n pink: 16761035,\r\n plum: 14524637,\r\n powderblue: 11591910,\r\n purple: 8388736,\r\n red: 16711680,\r\n rosybrown: 12357519,\r\n royalblue: 4286945,\r\n saddlebrown: 9127187,\r\n salmon: 16416882,\r\n sandybrown: 16032864,\r\n seagreen: 3050327,\r\n seashell: 16774638,\r\n sienna: 10506797,\r\n silver: 12632256,\r\n skyblue: 8900331,\r\n slateblue: 6970061,\r\n slategray: 7372944,\r\n slategrey: 7372944,\r\n snow: 16775930,\r\n springgreen: 65407,\r\n steelblue: 4620980,\r\n tan: 13808780,\r\n teal: 32896,\r\n thistle: 14204888,\r\n tomato: 16737095,\r\n turquoise: 4251856,\r\n violet: 15631086,\r\n wheat: 16113331,\r\n white: 16777215,\r\n whitesmoke: 16119285,\r\n yellow: 16776960,\r\n yellowgreen: 10145074\r\n};\r\nTHREE.Quaternion = function(a, b, c, d) {\r\n this.x = a || 0;\r\n this.y = b || 0;\r\n this.z = c || 0;\r\n this.w = void 0 !== d ? d : 1;\r\n};\r\nTHREE.extend(THREE.Quaternion.prototype, {\r\n set: function(a, b, c, d) {\r\n this.x = a;\r\n this.y = b;\r\n this.z = c;\r\n this.w = d;\r\n return this;\r\n },\r\n copy: function(a) {\r\n this.x = a.x;\r\n this.y = a.y;\r\n this.z = a.z;\r\n this.w = a.w;\r\n return this;\r\n },\r\n setFromEuler: function(a, b) {\r\n var c = Math.cos(a.x / 2),\r\n d = Math.cos(a.y / 2),\r\n e = Math.cos(a.z / 2),\r\n f = Math.sin(a.x / 2),\r\n g = Math.sin(a.y / 2),\r\n h = Math.sin(a.z / 2);\r\n void 0 === b || \"XYZ\" === b\r\n ? ((this.x = f * d * e + c * g * h),\r\n (this.y = c * g * e - f * d * h),\r\n (this.z = c * d * h + f * g * e),\r\n (this.w = c * d * e - f * g * h))\r\n : \"YXZ\" === b\r\n ? ((this.x = f * d * e + c * g * h),\r\n (this.y = c * g * e - f * d * h),\r\n (this.z = c * d * h - f * g * e),\r\n (this.w = c * d * e + f * g * h))\r\n : \"ZXY\" === b\r\n ? ((this.x = f * d * e - c * g * h),\r\n (this.y = c * g * e + f * d * h),\r\n (this.z = c * d * h + f * g * e),\r\n (this.w = c * d * e - f * g * h))\r\n : \"ZYX\" === b\r\n ? ((this.x = f * d * e - c * g * h),\r\n (this.y = c * g * e + f * d * h),\r\n (this.z = c * d * h - f * g * e),\r\n (this.w = c * d * e + f * g * h))\r\n : \"YZX\" === b\r\n ? ((this.x = f * d * e + c * g * h),\r\n (this.y = c * g * e + f * d * h),\r\n (this.z = c * d * h - f * g * e),\r\n (this.w = c * d * e - f * g * h))\r\n : \"XZY\" === b &&\r\n ((this.x = f * d * e - c * g * h),\r\n (this.y = c * g * e - f * d * h),\r\n (this.z = c * d * h + f * g * e),\r\n (this.w = c * d * e + f * g * h));\r\n return this;\r\n },\r\n setFromAxisAngle: function(a, b) {\r\n var c = b / 2,\r\n d = Math.sin(c);\r\n this.x = a.x * d;\r\n this.y = a.y * d;\r\n this.z = a.z * d;\r\n this.w = Math.cos(c);\r\n return this;\r\n },\r\n setFromRotationMatrix: function(a) {\r\n var b = a.elements,\r\n c = b[0],\r\n a = b[4],\r\n d = b[8],\r\n e = b[1],\r\n f = b[5],\r\n g = b[9],\r\n h = b[2],\r\n i = b[6],\r\n b = b[10],\r\n k = c + f + b;\r\n 0 < k\r\n ? ((c = 0.5 / Math.sqrt(k + 1)),\r\n (this.w = 0.25 / c),\r\n (this.x = (i - g) * c),\r\n (this.y = (d - h) * c),\r\n (this.z = (e - a) * c))\r\n : c > f && c > b\r\n ? ((c = 2 * Math.sqrt(1 + c - f - b)),\r\n (this.w = (i - g) / c),\r\n (this.x = 0.25 * c),\r\n (this.y = (a + e) / c),\r\n (this.z = (d + h) / c))\r\n : f > b\r\n ? ((c = 2 * Math.sqrt(1 + f - c - b)),\r\n (this.w = (d - h) / c),\r\n (this.x = (a + e) / c),\r\n (this.y = 0.25 * c),\r\n (this.z = (g + i) / c))\r\n : ((c = 2 * Math.sqrt(1 + b - c - f)),\r\n (this.w = (e - a) / c),\r\n (this.x = (d + h) / c),\r\n (this.y = (g + i) / c),\r\n (this.z = 0.25 * c));\r\n return this;\r\n },\r\n inverse: function() {\r\n this.conjugate().normalize();\r\n return this;\r\n },\r\n conjugate: function() {\r\n this.x *= -1;\r\n this.y *= -1;\r\n this.z *= -1;\r\n return this;\r\n },\r\n lengthSq: function() {\r\n return (\r\n this.x * this.x + this.y * this.y + this.z * this.z + this.w * this.w\r\n );\r\n },\r\n length: function() {\r\n return Math.sqrt(\r\n this.x * this.x + this.y * this.y + this.z * this.z + this.w * this.w\r\n );\r\n },\r\n normalize: function() {\r\n var a = this.length();\r\n 0 === a\r\n ? ((this.z = this.y = this.x = 0), (this.w = 1))\r\n : ((a = 1 / a),\r\n (this.x *= a),\r\n (this.y *= a),\r\n (this.z *= a),\r\n (this.w *= a));\r\n return this;\r\n },\r\n multiply: function(a, b) {\r\n return void 0 !== b\r\n ? (console.warn(\r\n \"DEPRECATED: Quaternion's .multiply() now only accepts one argument. Use .multiplyQuaternions( a, b ) instead.\"\r\n ),\r\n this.multiplyQuaternions(a, b))\r\n : this.multiplyQuaternions(this, a);\r\n },\r\n multiplyQuaternions: function(a, b) {\r\n var c = a.x,\r\n d = a.y,\r\n e = a.z,\r\n f = a.w,\r\n g = b.x,\r\n h = b.y,\r\n i = b.z,\r\n k = b.w;\r\n this.x = c * k + f * g + d * i - e * h;\r\n this.y = d * k + f * h + e * g - c * i;\r\n this.z = e * k + f * i + c * h - d * g;\r\n this.w = f * k - c * g - d * h - e * i;\r\n return this;\r\n },\r\n multiplyVector3: function(a) {\r\n console.warn(\r\n \"DEPRECATED: Quaternion's .multiplyVector3() has been removed. Use is now vector.applyQuaternion( quaternion ) instead.\"\r\n );\r\n return a.applyQuaternion(this);\r\n },\r\n slerp: function(a, b) {\r\n var c = this.x,\r\n d = this.y,\r\n e = this.z,\r\n f = this.w,\r\n g = f * a.w + c * a.x + d * a.y + e * a.z;\r\n 0 > g\r\n ? ((this.w = -a.w),\r\n (this.x = -a.x),\r\n (this.y = -a.y),\r\n (this.z = -a.z),\r\n (g = -g))\r\n : this.copy(a);\r\n if (1 <= g)\r\n return (this.w = f), (this.x = c), (this.y = d), (this.z = e), this;\r\n var h = Math.acos(g),\r\n i = Math.sqrt(1 - g * g);\r\n if (0.001 > Math.abs(i))\r\n return (\r\n (this.w = 0.5 * (f + this.w)),\r\n (this.x = 0.5 * (c + this.x)),\r\n (this.y = 0.5 * (d + this.y)),\r\n (this.z = 0.5 * (e + this.z)),\r\n this\r\n );\r\n g = Math.sin((1 - b) * h) / i;\r\n h = Math.sin(b * h) / i;\r\n this.w = f * g + this.w * h;\r\n this.x = c * g + this.x * h;\r\n this.y = d * g + this.y * h;\r\n this.z = e * g + this.z * h;\r\n return this;\r\n },\r\n equals: function(a) {\r\n return a.x === this.x && a.y === this.y && a.z === this.z && a.w === this.w;\r\n },\r\n clone: function() {\r\n return new THREE.Quaternion(this.x, this.y, this.z, this.w);\r\n }\r\n});\r\nTHREE.Quaternion.slerp = function(a, b, c, d) {\r\n return c.copy(a).slerp(b, d);\r\n};\r\nTHREE.Vector2 = function(a, b) {\r\n this.x = a || 0;\r\n this.y = b || 0;\r\n};\r\nTHREE.extend(THREE.Vector2.prototype, {\r\n set: function(a, b) {\r\n this.x = a;\r\n this.y = b;\r\n return this;\r\n },\r\n setX: function(a) {\r\n this.x = a;\r\n return this;\r\n },\r\n setY: function(a) {\r\n this.y = a;\r\n return this;\r\n },\r\n setComponent: function(a, b) {\r\n switch (a) {\r\n case 0:\r\n this.x = b;\r\n break;\r\n case 1:\r\n this.y = b;\r\n break;\r\n default:\r\n throw Error(\"index is out of range: \" + a);\r\n }\r\n },\r\n getComponent: function(a) {\r\n switch (a) {\r\n case 0:\r\n return this.x;\r\n case 1:\r\n return this.y;\r\n default:\r\n throw Error(\"index is out of range: \" + a);\r\n }\r\n },\r\n copy: function(a) {\r\n this.x = a.x;\r\n this.y = a.y;\r\n return this;\r\n },\r\n add: function(a, b) {\r\n if (void 0 !== b)\r\n return (\r\n console.warn(\r\n \"DEPRECATED: Vector2's .add() now only accepts one argument. Use .addVectors( a, b ) instead.\"\r\n ),\r\n this.addVectors(a, b)\r\n );\r\n this.x += a.x;\r\n this.y += a.y;\r\n return this;\r\n },\r\n addVectors: function(a, b) {\r\n this.x = a.x + b.x;\r\n this.y = a.y + b.y;\r\n return this;\r\n },\r\n addScalar: function(a) {\r\n this.x += a;\r\n this.y += a;\r\n return this;\r\n },\r\n sub: function(a, b) {\r\n if (void 0 !== b)\r\n return (\r\n console.warn(\r\n \"DEPRECATED: Vector2's .sub() now only accepts one argument. Use .subVectors( a, b ) instead.\"\r\n ),\r\n this.subVectors(a, b)\r\n );\r\n this.x -= a.x;\r\n this.y -= a.y;\r\n return this;\r\n },\r\n subVectors: function(a, b) {\r\n this.x = a.x - b.x;\r\n this.y = a.y - b.y;\r\n return this;\r\n },\r\n multiplyScalar: function(a) {\r\n this.x *= a;\r\n this.y *= a;\r\n return this;\r\n },\r\n divideScalar: function(a) {\r\n 0 !== a ? ((this.x /= a), (this.y /= a)) : this.set(0, 0);\r\n return this;\r\n },\r\n min: function(a) {\r\n this.x > a.x && (this.x = a.x);\r\n this.y > a.y && (this.y = a.y);\r\n return this;\r\n },\r\n max: function(a) {\r\n this.x < a.x && (this.x = a.x);\r\n this.y < a.y && (this.y = a.y);\r\n return this;\r\n },\r\n clamp: function(a, b) {\r\n this.x < a.x ? (this.x = a.x) : this.x > b.x && (this.x = b.x);\r\n this.y < a.y ? (this.y = a.y) : this.y > b.y && (this.y = b.y);\r\n return this;\r\n },\r\n negate: function() {\r\n return this.multiplyScalar(-1);\r\n },\r\n dot: function(a) {\r\n return this.x * a.x + this.y * a.y;\r\n },\r\n lengthSq: function() {\r\n return this.x * this.x + this.y * this.y;\r\n },\r\n length: function() {\r\n return Math.sqrt(this.x * this.x + this.y * this.y);\r\n },\r\n normalize: function() {\r\n return this.divideScalar(this.length());\r\n },\r\n distanceTo: function(a) {\r\n return Math.sqrt(this.distanceToSquared(a));\r\n },\r\n distanceToSquared: function(a) {\r\n var b = this.x - a.x,\r\n a = this.y - a.y;\r\n return b * b + a * a;\r\n },\r\n setLength: function(a) {\r\n var b = this.length();\r\n 0 !== b && a !== b && this.multiplyScalar(a / b);\r\n return this;\r\n },\r\n lerp: function(a, b) {\r\n this.x += (a.x - this.x) * b;\r\n this.y += (a.y - this.y) * b;\r\n return this;\r\n },\r\n equals: function(a) {\r\n return a.x === this.x && a.y === this.y;\r\n },\r\n toArray: function() {\r\n return [this.x, this.y];\r\n },\r\n clone: function() {\r\n return new THREE.Vector2(this.x, this.y);\r\n }\r\n});\r\nTHREE.Vector3 = function(a, b, c) {\r\n this.x = a || 0;\r\n this.y = b || 0;\r\n this.z = c || 0;\r\n};\r\nTHREE.extend(THREE.Vector3.prototype, {\r\n set: function(a, b, c) {\r\n this.x = a;\r\n this.y = b;\r\n this.z = c;\r\n return this;\r\n },\r\n setX: function(a) {\r\n this.x = a;\r\n return this;\r\n },\r\n setY: function(a) {\r\n this.y = a;\r\n return this;\r\n },\r\n setZ: function(a) {\r\n this.z = a;\r\n return this;\r\n },\r\n setComponent: function(a, b) {\r\n switch (a) {\r\n case 0:\r\n this.x = b;\r\n break;\r\n case 1:\r\n this.y = b;\r\n break;\r\n case 2:\r\n this.z = b;\r\n break;\r\n default:\r\n throw Error(\"index is out of range: \" + a);\r\n }\r\n },\r\n getComponent: function(a) {\r\n switch (a) {\r\n case 0:\r\n return this.x;\r\n case 1:\r\n return this.y;\r\n case 2:\r\n return this.z;\r\n default:\r\n throw Error(\"index is out of range: \" + a);\r\n }\r\n },\r\n copy: function(a) {\r\n this.x = a.x;\r\n this.y = a.y;\r\n this.z = a.z;\r\n return this;\r\n },\r\n add: function(a, b) {\r\n if (void 0 !== b)\r\n return (\r\n console.warn(\r\n \"DEPRECATED: Vector3's .add() now only accepts one argument. Use .addVectors( a, b ) instead.\"\r\n ),\r\n this.addVectors(a, b)\r\n );\r\n this.x += a.x;\r\n this.y += a.y;\r\n this.z += a.z;\r\n return this;\r\n },\r\n addScalar: function(a) {\r\n this.x += a;\r\n this.y += a;\r\n this.z += a;\r\n return this;\r\n },\r\n addVectors: function(a, b) {\r\n this.x = a.x + b.x;\r\n this.y = a.y + b.y;\r\n this.z = a.z + b.z;\r\n return this;\r\n },\r\n sub: function(a, b) {\r\n if (void 0 !== b)\r\n return (\r\n console.warn(\r\n \"DEPRECATED: Vector3's .sub() now only accepts one argument. Use .subVectors( a, b ) instead.\"\r\n ),\r\n this.subVectors(a, b)\r\n );\r\n this.x -= a.x;\r\n this.y -= a.y;\r\n this.z -= a.z;\r\n return this;\r\n },\r\n subVectors: function(a, b) {\r\n this.x = a.x - b.x;\r\n this.y = a.y - b.y;\r\n this.z = a.z - b.z;\r\n return this;\r\n },\r\n multiply: function(a, b) {\r\n if (void 0 !== b)\r\n return (\r\n console.warn(\r\n \"DEPRECATED: Vector3's .multiply() now only accepts one argument. Use .multiplyVectors( a, b ) instead.\"\r\n ),\r\n this.multiplyVectors(a, b)\r\n );\r\n this.x *= a.x;\r\n this.y *= a.y;\r\n this.z *= a.z;\r\n return this;\r\n },\r\n multiplyScalar: function(a) {\r\n this.x *= a;\r\n this.y *= a;\r\n this.z *= a;\r\n return this;\r\n },\r\n multiplyVectors: function(a, b) {\r\n this.x = a.x * b.x;\r\n this.y = a.y * b.y;\r\n this.z = a.z * b.z;\r\n return this;\r\n },\r\n applyMatrix3: function(a) {\r\n var b = this.x,\r\n c = this.y,\r\n d = this.z,\r\n a = a.elements;\r\n this.x = a[0] * b + a[3] * c + a[6] * d;\r\n this.y = a[1] * b + a[4] * c + a[7] * d;\r\n this.z = a[2] * b + a[5] * c + a[8] * d;\r\n return this;\r\n },\r\n applyMatrix4: function(a) {\r\n var b = this.x,\r\n c = this.y,\r\n d = this.z,\r\n a = a.elements;\r\n this.x = a[0] * b + a[4] * c + a[8] * d + a[12];\r\n this.y = a[1] * b + a[5] * c + a[9] * d + a[13];\r\n this.z = a[2] * b + a[6] * c + a[10] * d + a[14];\r\n return this;\r\n },\r\n applyProjection: function(a) {\r\n var b = this.x,\r\n c = this.y,\r\n d = this.z,\r\n a = a.elements,\r\n e = 1 / (a[3] * b + a[7] * c + a[11] * d + a[15]);\r\n this.x = (a[0] * b + a[4] * c + a[8] * d + a[12]) * e;\r\n this.y = (a[1] * b + a[5] * c + a[9] * d + a[13]) * e;\r\n this.z = (a[2] * b + a[6] * c + a[10] * d + a[14]) * e;\r\n return this;\r\n },\r\n applyQuaternion: function(a) {\r\n var b = this.x,\r\n c = this.y,\r\n d = this.z,\r\n e = a.x,\r\n f = a.y,\r\n g = a.z,\r\n a = a.w,\r\n h = a * b + f * d - g * c,\r\n i = a * c + g * b - e * d,\r\n k = a * d + e * c - f * b,\r\n b = -e * b - f * c - g * d;\r\n this.x = h * a + b * -e + i * -g - k * -f;\r\n this.y = i * a + b * -f + k * -e - h * -g;\r\n this.z = k * a + b * -g + h * -f - i * -e;\r\n return this;\r\n },\r\n applyEuler: (function() {\r\n var a = new THREE.Quaternion();\r\n return function(b, c) {\r\n var d = a.setFromEuler(b, c);\r\n this.applyQuaternion(d);\r\n return this;\r\n };\r\n })(),\r\n applyAxisAngle: (function() {\r\n var a = new THREE.Quaternion();\r\n return function(b, c) {\r\n var d = a.setFromAxisAngle(b, c);\r\n this.applyQuaternion(d);\r\n return this;\r\n };\r\n })(),\r\n transformDirection: function(a) {\r\n var b = this.x,\r\n c = this.y,\r\n d = this.z,\r\n a = a.elements;\r\n this.x = a[0] * b + a[4] * c + a[8] * d;\r\n this.y = a[1] * b + a[5] * c + a[9] * d;\r\n this.z = a[2] * b + a[6] * c + a[10] * d;\r\n this.normalize();\r\n return this;\r\n },\r\n divide: function(a) {\r\n this.x /= a.x;\r\n this.y /= a.y;\r\n this.z /= a.z;\r\n return this;\r\n },\r\n divideScalar: function(a) {\r\n 0 !== a\r\n ? ((this.x /= a), (this.y /= a), (this.z /= a))\r\n : (this.z = this.y = this.x = 0);\r\n return this;\r\n },\r\n min: function(a) {\r\n this.x > a.x && (this.x = a.x);\r\n this.y > a.y && (this.y = a.y);\r\n this.z > a.z && (this.z = a.z);\r\n return this;\r\n },\r\n max: function(a) {\r\n this.x < a.x && (this.x = a.x);\r\n this.y < a.y && (this.y = a.y);\r\n this.z < a.z && (this.z = a.z);\r\n return this;\r\n },\r\n clamp: function(a, b) {\r\n this.x < a.x ? (this.x = a.x) : this.x > b.x && (this.x = b.x);\r\n this.y < a.y ? (this.y = a.y) : this.y > b.y && (this.y = b.y);\r\n this.z < a.z ? (this.z = a.z) : this.z > b.z && (this.z = b.z);\r\n return this;\r\n },\r\n negate: function() {\r\n return this.multiplyScalar(-1);\r\n },\r\n dot: function(a) {\r\n return this.x * a.x + this.y * a.y + this.z * a.z;\r\n },\r\n lengthSq: function() {\r\n return this.x * this.x + this.y * this.y + this.z * this.z;\r\n },\r\n length: function() {\r\n return Math.sqrt(this.x * this.x + this.y * this.y + this.z * this.z);\r\n },\r\n lengthManhattan: function() {\r\n return Math.abs(this.x) + Math.abs(this.y) + Math.abs(this.z);\r\n },\r\n normalize: function() {\r\n return this.divideScalar(this.length());\r\n },\r\n setLength: function(a) {\r\n var b = this.length();\r\n 0 !== b && a !== b && this.multiplyScalar(a / b);\r\n return this;\r\n },\r\n lerp: function(a, b) {\r\n this.x += (a.x - this.x) * b;\r\n this.y += (a.y - this.y) * b;\r\n this.z += (a.z - this.z) * b;\r\n return this;\r\n },\r\n cross: function(a, b) {\r\n if (void 0 !== b)\r\n return (\r\n console.warn(\r\n \"DEPRECATED: Vector3's .cross() now only accepts one argument. Use .crossVectors( a, b ) instead.\"\r\n ),\r\n this.crossVectors(a, b)\r\n );\r\n var c = this.x,\r\n d = this.y,\r\n e = this.z;\r\n this.x = d * a.z - e * a.y;\r\n this.y = e * a.x - c * a.z;\r\n this.z = c * a.y - d * a.x;\r\n return this;\r\n },\r\n crossVectors: function(a, b) {\r\n this.x = a.y * b.z - a.z * b.y;\r\n this.y = a.z * b.x - a.x * b.z;\r\n this.z = a.x * b.y - a.y * b.x;\r\n return this;\r\n },\r\n projectOnVector: (function() {\r\n var a = new THREE.Vector3();\r\n return function(b) {\r\n a.copy(b).normalize();\r\n b = this.dot(a);\r\n return this.copy(a).multiplyScalar(b);\r\n };\r\n })(),\r\n projectOnPlane: (function() {\r\n var a = new THREE.Vector3();\r\n return function(b) {\r\n a.copy(this).projectOnVector(b);\r\n return this.sub(a);\r\n };\r\n })(),\r\n reflect: (function() {\r\n var a = new THREE.Vector3();\r\n return function(b) {\r\n a.copy(this)\r\n .projectOnVector(b)\r\n .multiplyScalar(2);\r\n return this.subVectors(a, this);\r\n };\r\n })(),\r\n angleTo: function(a) {\r\n a = this.dot(a) / (this.length() * a.length());\r\n return Math.acos(THREE.Math.clamp(a, -1, 1));\r\n },\r\n distanceTo: function(a) {\r\n return Math.sqrt(this.distanceToSquared(a));\r\n },\r\n distanceToSquared: function(a) {\r\n var b = this.x - a.x,\r\n c = this.y - a.y,\r\n a = this.z - a.z;\r\n return b * b + c * c + a * a;\r\n },\r\n getPositionFromMatrix: function(a) {\r\n this.x = a.elements[12];\r\n this.y = a.elements[13];\r\n this.z = a.elements[14];\r\n return this;\r\n },\r\n setEulerFromRotationMatrix: function(a, b) {\r\n function c(a) {\r\n return Math.min(Math.max(a, -1), 1);\r\n }\r\n var d = a.elements,\r\n e = d[0],\r\n f = d[4],\r\n g = d[8],\r\n h = d[1],\r\n i = d[5],\r\n k = d[9],\r\n l = d[2],\r\n m = d[6],\r\n d = d[10];\r\n void 0 === b || \"XYZ\" === b\r\n ? ((this.y = Math.asin(c(g))),\r\n 0.99999 > Math.abs(g)\r\n ? ((this.x = Math.atan2(-k, d)), (this.z = Math.atan2(-f, e)))\r\n : ((this.x = Math.atan2(m, i)), (this.z = 0)))\r\n : \"YXZ\" === b\r\n ? ((this.x = Math.asin(-c(k))),\r\n 0.99999 > Math.abs(k)\r\n ? ((this.y = Math.atan2(g, d)), (this.z = Math.atan2(h, i)))\r\n : ((this.y = Math.atan2(-l, e)), (this.z = 0)))\r\n : \"ZXY\" === b\r\n ? ((this.x = Math.asin(c(m))),\r\n 0.99999 > Math.abs(m)\r\n ? ((this.y = Math.atan2(-l, d)), (this.z = Math.atan2(-f, i)))\r\n : ((this.y = 0), (this.z = Math.atan2(h, e))))\r\n : \"ZYX\" === b\r\n ? ((this.y = Math.asin(-c(l))),\r\n 0.99999 > Math.abs(l)\r\n ? ((this.x = Math.atan2(m, d)), (this.z = Math.atan2(h, e)))\r\n : ((this.x = 0), (this.z = Math.atan2(-f, i))))\r\n : \"YZX\" === b\r\n ? ((this.z = Math.asin(c(h))),\r\n 0.99999 > Math.abs(h)\r\n ? ((this.x = Math.atan2(-k, i)), (this.y = Math.atan2(-l, e)))\r\n : ((this.x = 0), (this.y = Math.atan2(g, d))))\r\n : \"XZY\" === b &&\r\n ((this.z = Math.asin(-c(f))),\r\n 0.99999 > Math.abs(f)\r\n ? ((this.x = Math.atan2(m, i)), (this.y = Math.atan2(g, e)))\r\n : ((this.x = Math.atan2(-k, d)), (this.y = 0)));\r\n return this;\r\n },\r\n setEulerFromQuaternion: function(a, b) {\r\n function c(a) {\r\n return Math.min(Math.max(a, -1), 1);\r\n }\r\n var d = a.x * a.x,\r\n e = a.y * a.y,\r\n f = a.z * a.z,\r\n g = a.w * a.w;\r\n void 0 === b || \"XYZ\" === b\r\n ? ((this.x = Math.atan2(2 * (a.x * a.w - a.y * a.z), g - d - e + f)),\r\n (this.y = Math.asin(c(2 * (a.x * a.z + a.y * a.w)))),\r\n (this.z = Math.atan2(2 * (a.z * a.w - a.x * a.y), g + d - e - f)))\r\n : \"YXZ\" === b\r\n ? ((this.x = Math.asin(c(2 * (a.x * a.w - a.y * a.z)))),\r\n (this.y = Math.atan2(2 * (a.x * a.z + a.y * a.w), g - d - e + f)),\r\n (this.z = Math.atan2(2 * (a.x * a.y + a.z * a.w), g - d + e - f)))\r\n : \"ZXY\" === b\r\n ? ((this.x = Math.asin(c(2 * (a.x * a.w + a.y * a.z)))),\r\n (this.y = Math.atan2(2 * (a.y * a.w - a.z * a.x), g - d - e + f)),\r\n (this.z = Math.atan2(2 * (a.z * a.w - a.x * a.y), g - d + e - f)))\r\n : \"ZYX\" === b\r\n ? ((this.x = Math.atan2(2 * (a.x * a.w + a.z * a.y), g - d - e + f)),\r\n (this.y = Math.asin(c(2 * (a.y * a.w - a.x * a.z)))),\r\n (this.z = Math.atan2(2 * (a.x * a.y + a.z * a.w), g + d - e - f)))\r\n : \"YZX\" === b\r\n ? ((this.x = Math.atan2(2 * (a.x * a.w - a.z * a.y), g - d + e - f)),\r\n (this.y = Math.atan2(2 * (a.y * a.w - a.x * a.z), g + d - e - f)),\r\n (this.z = Math.asin(c(2 * (a.x * a.y + a.z * a.w)))))\r\n : \"XZY\" === b &&\r\n ((this.x = Math.atan2(2 * (a.x * a.w + a.y * a.z), g - d + e - f)),\r\n (this.y = Math.atan2(2 * (a.x * a.z + a.y * a.w), g + d - e - f)),\r\n (this.z = Math.asin(c(2 * (a.z * a.w - a.x * a.y)))));\r\n return this;\r\n },\r\n getScaleFromMatrix: function(a) {\r\n var b = this.set(a.elements[0], a.elements[1], a.elements[2]).length(),\r\n c = this.set(a.elements[4], a.elements[5], a.elements[6]).length(),\r\n a = this.set(a.elements[8], a.elements[9], a.elements[10]).length();\r\n this.x = b;\r\n this.y = c;\r\n this.z = a;\r\n return this;\r\n },\r\n equals: function(a) {\r\n return a.x === this.x && a.y === this.y && a.z === this.z;\r\n },\r\n toArray: function() {\r\n return [this.x, this.y, this.z];\r\n },\r\n clone: function() {\r\n return new THREE.Vector3(this.x, this.y, this.z);\r\n }\r\n});\r\nTHREE.Vector4 = function(a, b, c, d) {\r\n this.x = a || 0;\r\n this.y = b || 0;\r\n this.z = c || 0;\r\n this.w = void 0 !== d ? d : 1;\r\n};\r\nTHREE.extend(THREE.Vector4.prototype, {\r\n set: function(a, b, c, d) {\r\n this.x = a;\r\n this.y = b;\r\n this.z = c;\r\n this.w = d;\r\n return this;\r\n },\r\n setX: function(a) {\r\n this.x = a;\r\n return this;\r\n },\r\n setY: function(a) {\r\n this.y = a;\r\n return this;\r\n },\r\n setZ: function(a) {\r\n this.z = a;\r\n return this;\r\n },\r\n setW: function(a) {\r\n this.w = a;\r\n return this;\r\n },\r\n setComponent: function(a, b) {\r\n switch (a) {\r\n case 0:\r\n this.x = b;\r\n break;\r\n case 1:\r\n this.y = b;\r\n break;\r\n case 2:\r\n this.z = b;\r\n break;\r\n case 3:\r\n this.w = b;\r\n break;\r\n default:\r\n throw Error(\"index is out of range: \" + a);\r\n }\r\n },\r\n getComponent: function(a) {\r\n switch (a) {\r\n case 0:\r\n return this.x;\r\n case 1:\r\n return this.y;\r\n case 2:\r\n return this.z;\r\n case 3:\r\n return this.w;\r\n default:\r\n throw Error(\"index is out of range: \" + a);\r\n }\r\n },\r\n copy: function(a) {\r\n this.x = a.x;\r\n this.y = a.y;\r\n this.z = a.z;\r\n this.w = void 0 !== a.w ? a.w : 1;\r\n return this;\r\n },\r\n add: function(a, b) {\r\n if (void 0 !== b)\r\n return (\r\n console.warn(\r\n \"DEPRECATED: Vector4's .add() now only accepts one argument. Use .addVectors( a, b ) instead.\"\r\n ),\r\n this.addVectors(a, b)\r\n );\r\n this.x += a.x;\r\n this.y += a.y;\r\n this.z += a.z;\r\n this.w += a.w;\r\n return this;\r\n },\r\n addScalar: function(a) {\r\n this.x += a;\r\n this.y += a;\r\n this.z += a;\r\n this.w += a;\r\n return this;\r\n },\r\n addVectors: function(a, b) {\r\n this.x = a.x + b.x;\r\n this.y = a.y + b.y;\r\n this.z = a.z + b.z;\r\n this.w = a.w + b.w;\r\n return this;\r\n },\r\n sub: function(a, b) {\r\n if (void 0 !== b)\r\n return (\r\n console.warn(\r\n \"DEPRECATED: Vector4's .sub() now only accepts one argument. Use .subVectors( a, b ) instead.\"\r\n ),\r\n this.subVectors(a, b)\r\n );\r\n this.x -= a.x;\r\n this.y -= a.y;\r\n this.z -= a.z;\r\n this.w -= a.w;\r\n return this;\r\n },\r\n subVectors: function(a, b) {\r\n this.x = a.x - b.x;\r\n this.y = a.y - b.y;\r\n this.z = a.z - b.z;\r\n this.w = a.w - b.w;\r\n return this;\r\n },\r\n multiplyScalar: function(a) {\r\n this.x *= a;\r\n this.y *= a;\r\n this.z *= a;\r\n this.w *= a;\r\n return this;\r\n },\r\n applyMatrix4: function(a) {\r\n var b = this.x,\r\n c = this.y,\r\n d = this.z,\r\n e = this.w,\r\n a = a.elements;\r\n this.x = a[0] * b + a[4] * c + a[8] * d + a[12] * e;\r\n this.y = a[1] * b + a[5] * c + a[9] * d + a[13] * e;\r\n this.z = a[2] * b + a[6] * c + a[10] * d + a[14] * e;\r\n this.w = a[3] * b + a[7] * c + a[11] * d + a[15] * e;\r\n return this;\r\n },\r\n divideScalar: function(a) {\r\n 0 !== a\r\n ? ((this.x /= a), (this.y /= a), (this.z /= a), (this.w /= a))\r\n : ((this.z = this.y = this.x = 0), (this.w = 1));\r\n return this;\r\n },\r\n setAxisAngleFromQuaternion: function(a) {\r\n this.w = 2 * Math.acos(a.w);\r\n var b = Math.sqrt(1 - a.w * a.w);\r\n 1e-4 > b\r\n ? ((this.x = 1), (this.z = this.y = 0))\r\n : ((this.x = a.x / b), (this.y = a.y / b), (this.z = a.z / b));\r\n return this;\r\n },\r\n setAxisAngleFromRotationMatrix: function(a) {\r\n var b,\r\n c,\r\n d,\r\n a = a.elements,\r\n e = a[0];\r\n d = a[4];\r\n var f = a[8],\r\n g = a[1],\r\n h = a[5],\r\n i = a[9];\r\n c = a[2];\r\n b = a[6];\r\n var k = a[10];\r\n if (\r\n 0.01 > Math.abs(d - g) &&\r\n 0.01 > Math.abs(f - c) &&\r\n 0.01 > Math.abs(i - b)\r\n ) {\r\n if (\r\n 0.1 > Math.abs(d + g) &&\r\n 0.1 > Math.abs(f + c) &&\r\n 0.1 > Math.abs(i + b) &&\r\n 0.1 > Math.abs(e + h + k - 3)\r\n )\r\n return this.set(1, 0, 0, 0), this;\r\n a = Math.PI;\r\n e = (e + 1) / 2;\r\n h = (h + 1) / 2;\r\n k = (k + 1) / 2;\r\n d = (d + g) / 4;\r\n f = (f + c) / 4;\r\n i = (i + b) / 4;\r\n e > h && e > k\r\n ? 0.01 > e\r\n ? ((b = 0), (d = c = 0.707106781))\r\n : ((b = Math.sqrt(e)), (c = d / b), (d = f / b))\r\n : h > k\r\n ? 0.01 > h\r\n ? ((b = 0.707106781), (c = 0), (d = 0.707106781))\r\n : ((c = Math.sqrt(h)), (b = d / c), (d = i / c))\r\n : 0.01 > k\r\n ? ((c = b = 0.707106781), (d = 0))\r\n : ((d = Math.sqrt(k)), (b = f / d), (c = i / d));\r\n this.set(b, c, d, a);\r\n return this;\r\n }\r\n a = Math.sqrt((b - i) * (b - i) + (f - c) * (f - c) + (g - d) * (g - d));\r\n 0.001 > Math.abs(a) && (a = 1);\r\n this.x = (b - i) / a;\r\n this.y = (f - c) / a;\r\n this.z = (g - d) / a;\r\n this.w = Math.acos((e + h + k - 1) / 2);\r\n return this;\r\n },\r\n min: function(a) {\r\n this.x > a.x && (this.x = a.x);\r\n this.y > a.y && (this.y = a.y);\r\n this.z > a.z && (this.z = a.z);\r\n this.w > a.w && (this.w = a.w);\r\n return this;\r\n },\r\n max: function(a) {\r\n this.x < a.x && (this.x = a.x);\r\n this.y < a.y && (this.y = a.y);\r\n this.z < a.z && (this.z = a.z);\r\n this.w < a.w && (this.w = a.w);\r\n return this;\r\n },\r\n clamp: function(a, b) {\r\n this.x < a.x ? (this.x = a.x) : this.x > b.x && (this.x = b.x);\r\n this.y < a.y ? (this.y = a.y) : this.y > b.y && (this.y = b.y);\r\n this.z < a.z ? (this.z = a.z) : this.z > b.z && (this.z = b.z);\r\n this.w < a.w ? (this.w = a.w) : this.w > b.w && (this.w = b.w);\r\n return this;\r\n },\r\n negate: function() {\r\n return this.multiplyScalar(-1);\r\n },\r\n dot: function(a) {\r\n return this.x * a.x + this.y * a.y + this.z * a.z + this.w * a.w;\r\n },\r\n lengthSq: function() {\r\n return (\r\n this.x * this.x + this.y * this.y + this.z * this.z + this.w * this.w\r\n );\r\n },\r\n length: function() {\r\n return Math.sqrt(\r\n this.x * this.x + this.y * this.y + this.z * this.z + this.w * this.w\r\n );\r\n },\r\n lengthManhattan: function() {\r\n return (\r\n Math.abs(this.x) + Math.abs(this.y) + Math.abs(this.z) + Math.abs(this.w)\r\n );\r\n },\r\n normalize: function() {\r\n return this.divideScalar(this.length());\r\n },\r\n setLength: function(a) {\r\n var b = this.length();\r\n 0 !== b && a !== b && this.multiplyScalar(a / b);\r\n return this;\r\n },\r\n lerp: function(a, b) {\r\n this.x += (a.x - this.x) * b;\r\n this.y += (a.y - this.y) * b;\r\n this.z += (a.z - this.z) * b;\r\n this.w += (a.w - this.w) * b;\r\n return this;\r\n },\r\n equals: function(a) {\r\n return a.x === this.x && a.y === this.y && a.z === this.z && a.w === this.w;\r\n },\r\n toArray: function() {\r\n return [this.x, this.y, this.z, this.w];\r\n },\r\n clone: function() {\r\n return new THREE.Vector4(this.x, this.y, this.z, this.w);\r\n }\r\n});\r\nTHREE.Line3 = function(a, b) {\r\n this.start = void 0 !== a ? a : new THREE.Vector3();\r\n this.end = void 0 !== b ? b : new THREE.Vector3();\r\n};\r\nTHREE.extend(THREE.Line3.prototype, {\r\n set: function(a, b) {\r\n this.start.copy(a);\r\n this.end.copy(b);\r\n return this;\r\n },\r\n copy: function(a) {\r\n this.start.copy(a.start);\r\n this.end.copy(a.end);\r\n return this;\r\n },\r\n center: function(a) {\r\n return (a || new THREE.Vector3())\r\n .addVectors(this.start, this.end)\r\n .multiplyScalar(0.5);\r\n },\r\n delta: function(a) {\r\n return (a || new THREE.Vector3()).subVectors(this.end, this.start);\r\n },\r\n distanceSq: function() {\r\n return this.start.distanceToSquared(this.end);\r\n },\r\n distance: function() {\r\n return this.start.distanceTo(this.end);\r\n },\r\n at: function(a, b) {\r\n var c = b || new THREE.Vector3();\r\n return this.delta(c)\r\n .multiplyScalar(a)\r\n .add(this.start);\r\n },\r\n closestPointToPointParameter: (function() {\r\n var a = new THREE.Vector3(),\r\n b = new THREE.Vector3();\r\n return function(c, d) {\r\n a.subVectors(c, this.start);\r\n b.subVectors(this.end, this.start);\r\n var e = b.dot(b),\r\n e = b.dot(a) / e;\r\n d && (e = THREE.Math.clamp(e, 0, 1));\r\n return e;\r\n };\r\n })(),\r\n closestPointToPoint: function(a, b, c) {\r\n a = this.closestPointToPointParameter(a, b);\r\n c = c || new THREE.Vector3();\r\n return this.delta(c)\r\n .multiplyScalar(a)\r\n .add(this.start);\r\n },\r\n applyMatrix4: function(a) {\r\n this.start.applyMatrix4(a);\r\n this.end.applyMatrix4(a);\r\n return this;\r\n },\r\n equals: function(a) {\r\n return a.start.equals(this.start) && a.end.equals(this.end);\r\n },\r\n clone: function() {\r\n return new THREE.Line3().copy(this);\r\n }\r\n});\r\nTHREE.Box2 = function(a, b) {\r\n this.min = void 0 !== a ? a : new THREE.Vector2(Infinity, Infinity);\r\n this.max = void 0 !== b ? b : new THREE.Vector2(-Infinity, -Infinity);\r\n};\r\nTHREE.extend(THREE.Box2.prototype, {\r\n set: function(a, b) {\r\n this.min.copy(a);\r\n this.max.copy(b);\r\n return this;\r\n },\r\n setFromPoints: function(a) {\r\n if (0 < a.length) {\r\n var b = a[0];\r\n this.min.copy(b);\r\n this.max.copy(b);\r\n for (var c = 1, d = a.length; c < d; c++)\r\n (b = a[c]),\r\n b.x < this.min.x\r\n ? (this.min.x = b.x)\r\n : b.x > this.max.x && (this.max.x = b.x),\r\n b.y < this.min.y\r\n ? (this.min.y = b.y)\r\n : b.y > this.max.y && (this.max.y = b.y);\r\n } else this.makeEmpty();\r\n return this;\r\n },\r\n setFromCenterAndSize: (function() {\r\n var a = new THREE.Vector2();\r\n return function(b, c) {\r\n var d = a.copy(c).multiplyScalar(0.5);\r\n this.min.copy(b).sub(d);\r\n this.max.copy(b).add(d);\r\n return this;\r\n };\r\n })(),\r\n copy: function(a) {\r\n this.min.copy(a.min);\r\n this.max.copy(a.max);\r\n return this;\r\n },\r\n makeEmpty: function() {\r\n this.min.x = this.min.y = Infinity;\r\n this.max.x = this.max.y = -Infinity;\r\n return this;\r\n },\r\n empty: function() {\r\n return this.max.x < this.min.x || this.max.y < this.min.y;\r\n },\r\n center: function(a) {\r\n return (a || new THREE.Vector2())\r\n .addVectors(this.min, this.max)\r\n .multiplyScalar(0.5);\r\n },\r\n size: function(a) {\r\n return (a || new THREE.Vector2()).subVectors(this.max, this.min);\r\n },\r\n expandByPoint: function(a) {\r\n this.min.min(a);\r\n this.max.max(a);\r\n return this;\r\n },\r\n expandByVector: function(a) {\r\n this.min.sub(a);\r\n this.max.add(a);\r\n return this;\r\n },\r\n expandByScalar: function(a) {\r\n this.min.addScalar(-a);\r\n this.max.addScalar(a);\r\n return this;\r\n },\r\n containsPoint: function(a) {\r\n return a.x < this.min.x ||\r\n a.x > this.max.x ||\r\n a.y < this.min.y ||\r\n a.y > this.max.y\r\n ? !1\r\n : !0;\r\n },\r\n containsBox: function(a) {\r\n return this.min.x <= a.min.x &&\r\n a.max.x <= this.max.x &&\r\n this.min.y <= a.min.y &&\r\n a.max.y <= this.max.y\r\n ? !0\r\n : !1;\r\n },\r\n getParameter: function(a) {\r\n return new THREE.Vector2(\r\n (a.x - this.min.x) / (this.max.x - this.min.x),\r\n (a.y - this.min.y) / (this.max.y - this.min.y)\r\n );\r\n },\r\n isIntersectionBox: function(a) {\r\n return a.max.x < this.min.x ||\r\n a.min.x > this.max.x ||\r\n a.max.y < this.min.y ||\r\n a.min.y > this.max.y\r\n ? !1\r\n : !0;\r\n },\r\n clampPoint: function(a, b) {\r\n return (b || new THREE.Vector2()).copy(a).clamp(this.min, this.max);\r\n },\r\n distanceToPoint: (function() {\r\n var a = new THREE.Vector2();\r\n return function(b) {\r\n return a\r\n .copy(b)\r\n .clamp(this.min, this.max)\r\n .sub(b)\r\n .length();\r\n };\r\n })(),\r\n intersect: function(a) {\r\n this.min.max(a.min);\r\n this.max.min(a.max);\r\n return this;\r\n },\r\n union: function(a) {\r\n this.min.min(a.min);\r\n this.max.max(a.max);\r\n return this;\r\n },\r\n translate: function(a) {\r\n this.min.add(a);\r\n this.max.add(a);\r\n return this;\r\n },\r\n equals: function(a) {\r\n return a.min.equals(this.min) && a.max.equals(this.max);\r\n },\r\n clone: function() {\r\n return new THREE.Box2().copy(this);\r\n }\r\n});\r\nTHREE.Box3 = function(a, b) {\r\n this.min = void 0 !== a ? a : new THREE.Vector3(Infinity, Infinity, Infinity);\r\n this.max =\r\n void 0 !== b ? b : new THREE.Vector3(-Infinity, -Infinity, -Infinity);\r\n};\r\nTHREE.extend(THREE.Box3.prototype, {\r\n set: function(a, b) {\r\n this.min.copy(a);\r\n this.max.copy(b);\r\n return this;\r\n },\r\n setFromPoints: function(a) {\r\n if (0 < a.length) {\r\n var b = a[0];\r\n this.min.copy(b);\r\n this.max.copy(b);\r\n for (var c = 1, d = a.length; c < d; c++)\r\n (b = a[c]),\r\n b.x < this.min.x\r\n ? (this.min.x = b.x)\r\n : b.x > this.max.x && (this.max.x = b.x),\r\n b.y < this.min.y\r\n ? (this.min.y = b.y)\r\n : b.y > this.max.y && (this.max.y = b.y),\r\n b.z < this.min.z\r\n ? (this.min.z = b.z)\r\n : b.z > this.max.z && (this.max.z = b.z);\r\n } else this.makeEmpty();\r\n return this;\r\n },\r\n setFromCenterAndSize: (function() {\r\n var a = new THREE.Vector3();\r\n return function(b, c) {\r\n var d = a.copy(c).multiplyScalar(0.5);\r\n this.min.copy(b).sub(d);\r\n this.max.copy(b).add(d);\r\n return this;\r\n };\r\n })(),\r\n copy: function(a) {\r\n this.min.copy(a.min);\r\n this.max.copy(a.max);\r\n return this;\r\n },\r\n makeEmpty: function() {\r\n this.min.x = this.min.y = this.min.z = Infinity;\r\n this.max.x = this.max.y = this.max.z = -Infinity;\r\n return this;\r\n },\r\n empty: function() {\r\n return (\r\n this.max.x < this.min.x ||\r\n this.max.y < this.min.y ||\r\n this.max.z < this.min.z\r\n );\r\n },\r\n center: function(a) {\r\n return (a || new THREE.Vector3())\r\n .addVectors(this.min, this.max)\r\n .multiplyScalar(0.5);\r\n },\r\n size: function(a) {\r\n return (a || new THREE.Vector3()).subVectors(this.max, this.min);\r\n },\r\n expandByPoint: function(a) {\r\n this.min.min(a);\r\n this.max.max(a);\r\n return this;\r\n },\r\n expandByVector: function(a) {\r\n this.min.sub(a);\r\n this.max.add(a);\r\n return this;\r\n },\r\n expandByScalar: function(a) {\r\n this.min.addScalar(-a);\r\n this.max.addScalar(a);\r\n return this;\r\n },\r\n containsPoint: function(a) {\r\n return a.x < this.min.x ||\r\n a.x > this.max.x ||\r\n a.y < this.min.y ||\r\n a.y > this.max.y ||\r\n a.z < this.min.z ||\r\n a.z > this.max.z\r\n ? !1\r\n : !0;\r\n },\r\n containsBox: function(a) {\r\n return this.min.x <= a.min.x &&\r\n a.max.x <= this.max.x &&\r\n this.min.y <= a.min.y &&\r\n a.max.y <= this.max.y &&\r\n this.min.z <= a.min.z &&\r\n a.max.z <= this.max.z\r\n ? !0\r\n : !1;\r\n },\r\n getParameter: function(a) {\r\n return new THREE.Vector3(\r\n (a.x - this.min.x) / (this.max.x - this.min.x),\r\n (a.y - this.min.y) / (this.max.y - this.min.y),\r\n (a.z - this.min.z) / (this.max.z - this.min.z)\r\n );\r\n },\r\n isIntersectionBox: function(a) {\r\n return a.max.x < this.min.x ||\r\n a.min.x > this.max.x ||\r\n a.max.y < this.min.y ||\r\n a.min.y > this.max.y ||\r\n a.max.z < this.min.z ||\r\n a.min.z > this.max.z\r\n ? !1\r\n : !0;\r\n },\r\n clampPoint: function(a, b) {\r\n return (b || new THREE.Vector3()).copy(a).clamp(this.min, this.max);\r\n },\r\n distanceToPoint: (function() {\r\n var a = new THREE.Vector3();\r\n return function(b) {\r\n return a\r\n .copy(b)\r\n .clamp(this.min, this.max)\r\n .sub(b)\r\n .length();\r\n };\r\n })(),\r\n getBoundingSphere: (function() {\r\n var a = new THREE.Vector3();\r\n return function(b) {\r\n b = b || new THREE.Sphere();\r\n b.center = this.center();\r\n b.radius = 0.5 * this.size(a).length();\r\n return b;\r\n };\r\n })(),\r\n intersect: function(a) {\r\n this.min.max(a.min);\r\n this.max.min(a.max);\r\n return this;\r\n },\r\n union: function(a) {\r\n this.min.min(a.min);\r\n this.max.max(a.max);\r\n return this;\r\n },\r\n applyMatrix4: (function() {\r\n var a = [\r\n new THREE.Vector3(),\r\n new THREE.Vector3(),\r\n new THREE.Vector3(),\r\n new THREE.Vector3(),\r\n new THREE.Vector3(),\r\n new THREE.Vector3(),\r\n new THREE.Vector3(),\r\n new THREE.Vector3()\r\n ];\r\n return function(b) {\r\n a[0].set(this.min.x, this.min.y, this.min.z).applyMatrix4(b);\r\n a[1].set(this.min.x, this.min.y, this.max.z).applyMatrix4(b);\r\n a[2].set(this.min.x, this.max.y, this.min.z).applyMatrix4(b);\r\n a[3].set(this.min.x, this.max.y, this.max.z).applyMatrix4(b);\r\n a[4].set(this.max.x, this.min.y, this.min.z).applyMatrix4(b);\r\n a[5].set(this.max.x, this.min.y, this.max.z).applyMatrix4(b);\r\n a[6].set(this.max.x, this.max.y, this.min.z).applyMatrix4(b);\r\n a[7].set(this.max.x, this.max.y, this.max.z).applyMatrix4(b);\r\n this.makeEmpty();\r\n this.setFromPoints(a);\r\n return this;\r\n };\r\n })(),\r\n translate: function(a) {\r\n this.min.add(a);\r\n this.max.add(a);\r\n return this;\r\n },\r\n equals: function(a) {\r\n return a.min.equals(this.min) && a.max.equals(this.max);\r\n },\r\n clone: function() {\r\n return new THREE.Box3().copy(this);\r\n }\r\n});\r\nTHREE.Matrix3 = function(a, b, c, d, e, f, g, h, i) {\r\n this.elements = new Float32Array(9);\r\n this.set(\r\n void 0 !== a ? a : 1,\r\n b || 0,\r\n c || 0,\r\n d || 0,\r\n void 0 !== e ? e : 1,\r\n f || 0,\r\n g || 0,\r\n h || 0,\r\n void 0 !== i ? i : 1\r\n );\r\n};\r\nTHREE.extend(THREE.Matrix3.prototype, {\r\n set: function(a, b, c, d, e, f, g, h, i) {\r\n var k = this.elements;\r\n k[0] = a;\r\n k[3] = b;\r\n k[6] = c;\r\n k[1] = d;\r\n k[4] = e;\r\n k[7] = f;\r\n k[2] = g;\r\n k[5] = h;\r\n k[8] = i;\r\n return this;\r\n },\r\n identity: function() {\r\n this.set(1, 0, 0, 0, 1, 0, 0, 0, 1);\r\n return this;\r\n },\r\n copy: function(a) {\r\n a = a.elements;\r\n this.set(a[0], a[3], a[6], a[1], a[4], a[7], a[2], a[5], a[8]);\r\n return this;\r\n },\r\n multiplyVector3: function(a) {\r\n console.warn(\r\n \"DEPRECATED: Matrix3's .multiplyVector3() has been removed. Use vector.applyMatrix3( matrix ) instead.\"\r\n );\r\n return a.applyMatrix3(this);\r\n },\r\n multiplyVector3Array: (function() {\r\n var a = new THREE.Vector3();\r\n return function(b) {\r\n for (var c = 0, d = b.length; c < d; c += 3)\r\n (a.x = b[c]),\r\n (a.y = b[c + 1]),\r\n (a.z = b[c + 2]),\r\n a.applyMatrix3(this),\r\n (b[c] = a.x),\r\n (b[c + 1] = a.y),\r\n (b[c + 2] = a.z);\r\n return b;\r\n };\r\n })(),\r\n multiplyScalar: function(a) {\r\n var b = this.elements;\r\n b[0] *= a;\r\n b[3] *= a;\r\n b[6] *= a;\r\n b[1] *= a;\r\n b[4] *= a;\r\n b[7] *= a;\r\n b[2] *= a;\r\n b[5] *= a;\r\n b[8] *= a;\r\n return this;\r\n },\r\n determinant: function() {\r\n var a = this.elements,\r\n b = a[0],\r\n c = a[1],\r\n d = a[2],\r\n e = a[3],\r\n f = a[4],\r\n g = a[5],\r\n h = a[6],\r\n i = a[7],\r\n a = a[8];\r\n return (\r\n b * f * a - b * g * i - c * e * a + c * g * h + d * e * i - d * f * h\r\n );\r\n },\r\n getInverse: function(a, b) {\r\n var c = a.elements,\r\n d = this.elements;\r\n d[0] = c[10] * c[5] - c[6] * c[9];\r\n d[1] = -c[10] * c[1] + c[2] * c[9];\r\n d[2] = c[6] * c[1] - c[2] * c[5];\r\n d[3] = -c[10] * c[4] + c[6] * c[8];\r\n d[4] = c[10] * c[0] - c[2] * c[8];\r\n d[5] = -c[6] * c[0] + c[2] * c[4];\r\n d[6] = c[9] * c[4] - c[5] * c[8];\r\n d[7] = -c[9] * c[0] + c[1] * c[8];\r\n d[8] = c[5] * c[0] - c[1] * c[4];\r\n c = c[0] * d[0] + c[1] * d[3] + c[2] * d[6];\r\n if (0 === c) {\r\n if (b)\r\n throw Error(\r\n \"Matrix3.getInverse(): can't invert matrix, determinant is 0\"\r\n );\r\n console.warn(\r\n \"Matrix3.getInverse(): can't invert matrix, determinant is 0\"\r\n );\r\n this.identity();\r\n return this;\r\n }\r\n this.multiplyScalar(1 / c);\r\n return this;\r\n },\r\n transpose: function() {\r\n var a,\r\n b = this.elements;\r\n a = b[1];\r\n b[1] = b[3];\r\n b[3] = a;\r\n a = b[2];\r\n b[2] = b[6];\r\n b[6] = a;\r\n a = b[5];\r\n b[5] = b[7];\r\n b[7] = a;\r\n return this;\r\n },\r\n getNormalMatrix: function(a) {\r\n this.getInverse(a).transpose();\r\n return this;\r\n },\r\n transposeIntoArray: function(a) {\r\n var b = this.elements;\r\n a[0] = b[0];\r\n a[1] = b[3];\r\n a[2] = b[6];\r\n a[3] = b[1];\r\n a[4] = b[4];\r\n a[5] = b[7];\r\n a[6] = b[2];\r\n a[7] = b[5];\r\n a[8] = b[8];\r\n return this;\r\n },\r\n clone: function() {\r\n var a = this.elements;\r\n return new THREE.Matrix3(\r\n a[0],\r\n a[3],\r\n a[6],\r\n a[1],\r\n a[4],\r\n a[7],\r\n a[2],\r\n a[5],\r\n a[8]\r\n );\r\n }\r\n});\r\nTHREE.Matrix4 = function(a, b, c, d, e, f, g, h, i, k, l, m, n, s, r, p) {\r\n var q = (this.elements = new Float32Array(16));\r\n q[0] = void 0 !== a ? a : 1;\r\n q[4] = b || 0;\r\n q[8] = c || 0;\r\n q[12] = d || 0;\r\n q[1] = e || 0;\r\n q[5] = void 0 !== f ? f : 1;\r\n q[9] = g || 0;\r\n q[13] = h || 0;\r\n q[2] = i || 0;\r\n q[6] = k || 0;\r\n q[10] = void 0 !== l ? l : 1;\r\n q[14] = m || 0;\r\n q[3] = n || 0;\r\n q[7] = s || 0;\r\n q[11] = r || 0;\r\n q[15] = void 0 !== p ? p : 1;\r\n};\r\nTHREE.extend(THREE.Matrix4.prototype, {\r\n set: function(a, b, c, d, e, f, g, h, i, k, l, m, n, s, r, p) {\r\n var q = this.elements;\r\n q[0] = a;\r\n q[4] = b;\r\n q[8] = c;\r\n q[12] = d;\r\n q[1] = e;\r\n q[5] = f;\r\n q[9] = g;\r\n q[13] = h;\r\n q[2] = i;\r\n q[6] = k;\r\n q[10] = l;\r\n q[14] = m;\r\n q[3] = n;\r\n q[7] = s;\r\n q[11] = r;\r\n q[15] = p;\r\n return this;\r\n },\r\n identity: function() {\r\n this.set(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\r\n return this;\r\n },\r\n copy: function(a) {\r\n a = a.elements;\r\n this.set(\r\n a[0],\r\n a[4],\r\n a[8],\r\n a[12],\r\n a[1],\r\n a[5],\r\n a[9],\r\n a[13],\r\n a[2],\r\n a[6],\r\n a[10],\r\n a[14],\r\n a[3],\r\n a[7],\r\n a[11],\r\n a[15]\r\n );\r\n return this;\r\n },\r\n setRotationFromEuler: function(a, b) {\r\n var c = this.elements,\r\n d = a.x,\r\n e = a.y,\r\n f = a.z,\r\n g = Math.cos(d),\r\n d = Math.sin(d),\r\n h = Math.cos(e),\r\n e = Math.sin(e),\r\n i = Math.cos(f),\r\n f = Math.sin(f);\r\n if (void 0 === b || \"XYZ\" === b) {\r\n var k = g * i,\r\n l = g * f,\r\n m = d * i,\r\n n = d * f;\r\n c[0] = h * i;\r\n c[4] = -h * f;\r\n c[8] = e;\r\n c[1] = l + m * e;\r\n c[5] = k - n * e;\r\n c[9] = -d * h;\r\n c[2] = n - k * e;\r\n c[6] = m + l * e;\r\n c[10] = g * h;\r\n } else\r\n \"YXZ\" === b\r\n ? ((k = h * i),\r\n (l = h * f),\r\n (m = e * i),\r\n (n = e * f),\r\n (c[0] = k + n * d),\r\n (c[4] = m * d - l),\r\n (c[8] = g * e),\r\n (c[1] = g * f),\r\n (c[5] = g * i),\r\n (c[9] = -d),\r\n (c[2] = l * d - m),\r\n (c[6] = n + k * d),\r\n (c[10] = g * h))\r\n : \"ZXY\" === b\r\n ? ((k = h * i),\r\n (l = h * f),\r\n (m = e * i),\r\n (n = e * f),\r\n (c[0] = k - n * d),\r\n (c[4] = -g * f),\r\n (c[8] = m + l * d),\r\n (c[1] = l + m * d),\r\n (c[5] = g * i),\r\n (c[9] = n - k * d),\r\n (c[2] = -g * e),\r\n (c[6] = d),\r\n (c[10] = g * h))\r\n : \"ZYX\" === b\r\n ? ((k = g * i),\r\n (l = g * f),\r\n (m = d * i),\r\n (n = d * f),\r\n (c[0] = h * i),\r\n (c[4] = m * e - l),\r\n (c[8] = k * e + n),\r\n (c[1] = h * f),\r\n (c[5] = n * e + k),\r\n (c[9] = l * e - m),\r\n (c[2] = -e),\r\n (c[6] = d * h),\r\n (c[10] = g * h))\r\n : \"YZX\" === b\r\n ? ((k = g * h),\r\n (l = g * e),\r\n (m = d * h),\r\n (n = d * e),\r\n (c[0] = h * i),\r\n (c[4] = n - k * f),\r\n (c[8] = m * f + l),\r\n (c[1] = f),\r\n (c[5] = g * i),\r\n (c[9] = -d * i),\r\n (c[2] = -e * i),\r\n (c[6] = l * f + m),\r\n (c[10] = k - n * f))\r\n : \"XZY\" === b &&\r\n ((k = g * h),\r\n (l = g * e),\r\n (m = d * h),\r\n (n = d * e),\r\n (c[0] = h * i),\r\n (c[4] = -f),\r\n (c[8] = e * i),\r\n (c[1] = k * f + n),\r\n (c[5] = g * i),\r\n (c[9] = l * f - m),\r\n (c[2] = m * f - l),\r\n (c[6] = d * i),\r\n (c[10] = n * f + k));\r\n return this;\r\n },\r\n setRotationFromQuaternion: function(a) {\r\n var b = this.elements,\r\n c = a.x,\r\n d = a.y,\r\n e = a.z,\r\n f = a.w,\r\n g = c + c,\r\n h = d + d,\r\n i = e + e,\r\n a = c * g,\r\n k = c * h,\r\n c = c * i,\r\n l = d * h,\r\n d = d * i,\r\n e = e * i,\r\n g = f * g,\r\n h = f * h,\r\n f = f * i;\r\n b[0] = 1 - (l + e);\r\n b[4] = k - f;\r\n b[8] = c + h;\r\n b[1] = k + f;\r\n b[5] = 1 - (a + e);\r\n b[9] = d - g;\r\n b[2] = c - h;\r\n b[6] = d + g;\r\n b[10] = 1 - (a + l);\r\n return this;\r\n },\r\n lookAt: (function() {\r\n var a = new THREE.Vector3(),\r\n b = new THREE.Vector3(),\r\n c = new THREE.Vector3();\r\n return function(d, e, f) {\r\n var g = this.elements;\r\n c.subVectors(d, e).normalize();\r\n 0 === c.length() && (c.z = 1);\r\n a.crossVectors(f, c).normalize();\r\n 0 === a.length() && ((c.x += 1e-4), a.crossVectors(f, c).normalize());\r\n b.crossVectors(c, a);\r\n g[0] = a.x;\r\n g[4] = b.x;\r\n g[8] = c.x;\r\n g[1] = a.y;\r\n g[5] = b.y;\r\n g[9] = c.y;\r\n g[2] = a.z;\r\n g[6] = b.z;\r\n g[10] = c.z;\r\n return this;\r\n };\r\n })(),\r\n multiply: function(a, b) {\r\n return void 0 !== b\r\n ? (console.warn(\r\n \"DEPRECATED: Matrix4's .multiply() now only accepts one argument. Use .multiplyMatrices( a, b ) instead.\"\r\n ),\r\n this.multiplyMatrices(a, b))\r\n : this.multiplyMatrices(this, a);\r\n },\r\n multiplyMatrices: function(a, b) {\r\n var c = a.elements,\r\n d = b.elements,\r\n e = this.elements,\r\n f = c[0],\r\n g = c[4],\r\n h = c[8],\r\n i = c[12],\r\n k = c[1],\r\n l = c[5],\r\n m = c[9],\r\n n = c[13],\r\n s = c[2],\r\n r = c[6],\r\n p = c[10],\r\n q = c[14],\r\n y = c[3],\r\n v = c[7],\r\n z = c[11],\r\n c = c[15],\r\n t = d[0],\r\n A = d[4],\r\n I = d[8],\r\n C = d[12],\r\n x = d[1],\r\n G = d[5],\r\n J = d[9],\r\n E = d[13],\r\n H = d[2],\r\n B = d[6],\r\n W = d[10],\r\n F = d[14],\r\n K = d[3],\r\n L = d[7],\r\n U = d[11],\r\n d = d[15];\r\n e[0] = f * t + g * x + h * H + i * K;\r\n e[4] = f * A + g * G + h * B + i * L;\r\n e[8] = f * I + g * J + h * W + i * U;\r\n e[12] = f * C + g * E + h * F + i * d;\r\n e[1] = k * t + l * x + m * H + n * K;\r\n e[5] = k * A + l * G + m * B + n * L;\r\n e[9] = k * I + l * J + m * W + n * U;\r\n e[13] = k * C + l * E + m * F + n * d;\r\n e[2] = s * t + r * x + p * H + q * K;\r\n e[6] = s * A + r * G + p * B + q * L;\r\n e[10] = s * I + r * J + p * W + q * U;\r\n e[14] = s * C + r * E + p * F + q * d;\r\n e[3] = y * t + v * x + z * H + c * K;\r\n e[7] = y * A + v * G + z * B + c * L;\r\n e[11] = y * I + v * J + z * W + c * U;\r\n e[15] = y * C + v * E + z * F + c * d;\r\n return this;\r\n },\r\n multiplyToArray: function(a, b, c) {\r\n var d = this.elements;\r\n this.multiplyMatrices(a, b);\r\n c[0] = d[0];\r\n c[1] = d[1];\r\n c[2] = d[2];\r\n c[3] = d[3];\r\n c[4] = d[4];\r\n c[5] = d[5];\r\n c[6] = d[6];\r\n c[7] = d[7];\r\n c[8] = d[8];\r\n c[9] = d[9];\r\n c[10] = d[10];\r\n c[11] = d[11];\r\n c[12] = d[12];\r\n c[13] = d[13];\r\n c[14] = d[14];\r\n c[15] = d[15];\r\n return this;\r\n },\r\n multiplyScalar: function(a) {\r\n var b = this.elements;\r\n b[0] *= a;\r\n b[4] *= a;\r\n b[8] *= a;\r\n b[12] *= a;\r\n b[1] *= a;\r\n b[5] *= a;\r\n b[9] *= a;\r\n b[13] *= a;\r\n b[2] *= a;\r\n b[6] *= a;\r\n b[10] *= a;\r\n b[14] *= a;\r\n b[3] *= a;\r\n b[7] *= a;\r\n b[11] *= a;\r\n b[15] *= a;\r\n return this;\r\n },\r\n multiplyVector3: function(a) {\r\n console.warn(\r\n \"DEPRECATED: Matrix4's .multiplyVector3() has been removed. Use vector.applyMatrix4( matrix ) or vector.applyProjection( matrix ) instead.\"\r\n );\r\n return a.applyProjection(this);\r\n },\r\n multiplyVector4: function(a) {\r\n console.warn(\r\n \"DEPRECATED: Matrix4's .multiplyVector4() has been removed. Use vector.applyMatrix4( matrix ) instead.\"\r\n );\r\n return a.applyMatrix4(this);\r\n },\r\n multiplyVector3Array: (function() {\r\n var a = new THREE.Vector3();\r\n return function(b) {\r\n for (var c = 0, d = b.length; c < d; c += 3)\r\n (a.x = b[c]),\r\n (a.y = b[c + 1]),\r\n (a.z = b[c + 2]),\r\n a.applyProjection(this),\r\n (b[c] = a.x),\r\n (b[c + 1] = a.y),\r\n (b[c + 2] = a.z);\r\n return b;\r\n };\r\n })(),\r\n rotateAxis: function(a) {\r\n var b = this.elements,\r\n c = a.x,\r\n d = a.y,\r\n e = a.z;\r\n a.x = c * b[0] + d * b[4] + e * b[8];\r\n a.y = c * b[1] + d * b[5] + e * b[9];\r\n a.z = c * b[2] + d * b[6] + e * b[10];\r\n a.normalize();\r\n return a;\r\n },\r\n crossVector: function(a) {\r\n var b = this.elements,\r\n c = new THREE.Vector4();\r\n c.x = b[0] * a.x + b[4] * a.y + b[8] * a.z + b[12] * a.w;\r\n c.y = b[1] * a.x + b[5] * a.y + b[9] * a.z + b[13] * a.w;\r\n c.z = b[2] * a.x + b[6] * a.y + b[10] * a.z + b[14] * a.w;\r\n c.w = a.w ? b[3] * a.x + b[7] * a.y + b[11] * a.z + b[15] * a.w : 1;\r\n return c;\r\n },\r\n determinant: function() {\r\n var a = this.elements,\r\n b = a[0],\r\n c = a[4],\r\n d = a[8],\r\n e = a[12],\r\n f = a[1],\r\n g = a[5],\r\n h = a[9],\r\n i = a[13],\r\n k = a[2],\r\n l = a[6],\r\n m = a[10],\r\n n = a[14];\r\n return (\r\n a[3] *\r\n (+e * h * l -\r\n d * i * l -\r\n e * g * m +\r\n c * i * m +\r\n d * g * n -\r\n c * h * n) +\r\n a[7] *\r\n (+b * h * n -\r\n b * i * m +\r\n e * f * m -\r\n d * f * n +\r\n d * i * k -\r\n e * h * k) +\r\n a[11] *\r\n (+b * i * l -\r\n b * g * n -\r\n e * f * l +\r\n c * f * n +\r\n e * g * k -\r\n c * i * k) +\r\n a[15] *\r\n (-d * g * k - b * h * l + b * g * m + d * f * l - c * f * m + c * h * k)\r\n );\r\n },\r\n transpose: function() {\r\n var a = this.elements,\r\n b;\r\n b = a[1];\r\n a[1] = a[4];\r\n a[4] = b;\r\n b = a[2];\r\n a[2] = a[8];\r\n a[8] = b;\r\n b = a[6];\r\n a[6] = a[9];\r\n a[9] = b;\r\n b = a[3];\r\n a[3] = a[12];\r\n a[12] = b;\r\n b = a[7];\r\n a[7] = a[13];\r\n a[13] = b;\r\n b = a[11];\r\n a[11] = a[14];\r\n a[14] = b;\r\n return this;\r\n },\r\n flattenToArray: function(a) {\r\n var b = this.elements;\r\n a[0] = b[0];\r\n a[1] = b[1];\r\n a[2] = b[2];\r\n a[3] = b[3];\r\n a[4] = b[4];\r\n a[5] = b[5];\r\n a[6] = b[6];\r\n a[7] = b[7];\r\n a[8] = b[8];\r\n a[9] = b[9];\r\n a[10] = b[10];\r\n a[11] = b[11];\r\n a[12] = b[12];\r\n a[13] = b[13];\r\n a[14] = b[14];\r\n a[15] = b[15];\r\n return a;\r\n },\r\n flattenToArrayOffset: function(a, b) {\r\n var c = this.elements;\r\n a[b] = c[0];\r\n a[b + 1] = c[1];\r\n a[b + 2] = c[2];\r\n a[b + 3] = c[3];\r\n a[b + 4] = c[4];\r\n a[b + 5] = c[5];\r\n a[b + 6] = c[6];\r\n a[b + 7] = c[7];\r\n a[b + 8] = c[8];\r\n a[b + 9] = c[9];\r\n a[b + 10] = c[10];\r\n a[b + 11] = c[11];\r\n a[b + 12] = c[12];\r\n a[b + 13] = c[13];\r\n a[b + 14] = c[14];\r\n a[b + 15] = c[15];\r\n return a;\r\n },\r\n getPosition: (function() {\r\n var a = new THREE.Vector3();\r\n return function() {\r\n console.warn(\r\n \"DEPRECATED: Matrix4's .getPosition() has been removed. Use Vector3.getPositionFromMatrix( matrix ) instead.\"\r\n );\r\n var b = this.elements;\r\n return a.set(b[12], b[13], b[14]);\r\n };\r\n })(),\r\n setPosition: function(a) {\r\n var b = this.elements;\r\n b[12] = a.x;\r\n b[13] = a.y;\r\n b[14] = a.z;\r\n return this;\r\n },\r\n getInverse: function(a, b) {\r\n var c = this.elements,\r\n d = a.elements,\r\n e = d[0],\r\n f = d[4],\r\n g = d[8],\r\n h = d[12],\r\n i = d[1],\r\n k = d[5],\r\n l = d[9],\r\n m = d[13],\r\n n = d[2],\r\n s = d[6],\r\n r = d[10],\r\n p = d[14],\r\n q = d[3],\r\n y = d[7],\r\n v = d[11],\r\n z = d[15];\r\n c[0] =\r\n l * p * y - m * r * y + m * s * v - k * p * v - l * s * z + k * r * z;\r\n c[4] =\r\n h * r * y - g * p * y - h * s * v + f * p * v + g * s * z - f * r * z;\r\n c[8] =\r\n g * m * y - h * l * y + h * k * v - f * m * v - g * k * z + f * l * z;\r\n c[12] =\r\n h * l * s - g * m * s - h * k * r + f * m * r + g * k * p - f * l * p;\r\n c[1] =\r\n m * r * q - l * p * q - m * n * v + i * p * v + l * n * z - i * r * z;\r\n c[5] =\r\n g * p * q - h * r * q + h * n * v - e * p * v - g * n * z + e * r * z;\r\n c[9] =\r\n h * l * q - g * m * q - h * i * v + e * m * v + g * i * z - e * l * z;\r\n c[13] =\r\n g * m * n - h * l * n + h * i * r - e * m * r - g * i * p + e * l * p;\r\n c[2] =\r\n k * p * q - m * s * q + m * n * y - i * p * y - k * n * z + i * s * z;\r\n c[6] =\r\n h * s * q - f * p * q - h * n * y + e * p * y + f * n * z - e * s * z;\r\n c[10] =\r\n f * m * q - h * k * q + h * i * y - e * m * y - f * i * z + e * k * z;\r\n c[14] =\r\n h * k * n - f * m * n - h * i * s + e * m * s + f * i * p - e * k * p;\r\n c[3] =\r\n l * s * q - k * r * q - l * n * y + i * r * y + k * n * v - i * s * v;\r\n c[7] =\r\n f * r * q - g * s * q + g * n * y - e * r * y - f * n * v + e * s * v;\r\n c[11] =\r\n g * k * q - f * l * q - g * i * y + e * l * y + f * i * v - e * k * v;\r\n c[15] =\r\n f * l * n - g * k * n + g * i * s - e * l * s - f * i * r + e * k * r;\r\n c = d[0] * c[0] + d[1] * c[4] + d[2] * c[8] + d[3] * c[12];\r\n if (0 == c) {\r\n if (b)\r\n throw Error(\r\n \"Matrix4.getInverse(): can't invert matrix, determinant is 0\"\r\n );\r\n console.warn(\r\n \"Matrix4.getInverse(): can't invert matrix, determinant is 0\"\r\n );\r\n this.identity();\r\n return this;\r\n }\r\n this.multiplyScalar(1 / c);\r\n return this;\r\n },\r\n compose: (function() {\r\n var a = new THREE.Matrix4(),\r\n b = new THREE.Matrix4();\r\n return function(c, d, e) {\r\n var f = this.elements;\r\n a.identity();\r\n a.setRotationFromQuaternion(d);\r\n b.makeScale(e.x, e.y, e.z);\r\n this.multiplyMatrices(a, b);\r\n f[12] = c.x;\r\n f[13] = c.y;\r\n f[14] = c.z;\r\n return this;\r\n };\r\n })(),\r\n decompose: (function() {\r\n var a = new THREE.Vector3(),\r\n b = new THREE.Vector3(),\r\n c = new THREE.Vector3(),\r\n d = new THREE.Matrix4();\r\n return function(e, f, g) {\r\n var h = this.elements;\r\n a.set(h[0], h[1], h[2]);\r\n b.set(h[4], h[5], h[6]);\r\n c.set(h[8], h[9], h[10]);\r\n e = e instanceof THREE.Vector3 ? e : new THREE.Vector3();\r\n f = f instanceof THREE.Quaternion ? f : new THREE.Quaternion();\r\n g = g instanceof THREE.Vector3 ? g : new THREE.Vector3();\r\n g.x = a.length();\r\n g.y = b.length();\r\n g.z = c.length();\r\n e.x = h[12];\r\n e.y = h[13];\r\n e.z = h[14];\r\n d.copy(this);\r\n d.elements[0] /= g.x;\r\n d.elements[1] /= g.x;\r\n d.elements[2] /= g.x;\r\n d.elements[4] /= g.y;\r\n d.elements[5] /= g.y;\r\n d.elements[6] /= g.y;\r\n d.elements[8] /= g.z;\r\n d.elements[9] /= g.z;\r\n d.elements[10] /= g.z;\r\n f.setFromRotationMatrix(d);\r\n return [e, f, g];\r\n };\r\n })(),\r\n extractPosition: function(a) {\r\n var b = this.elements,\r\n a = a.elements;\r\n b[12] = a[12];\r\n b[13] = a[13];\r\n b[14] = a[14];\r\n return this;\r\n },\r\n extractRotation: (function() {\r\n var a = new THREE.Vector3();\r\n return function(b) {\r\n var c = this.elements,\r\n b = b.elements,\r\n d = 1 / a.set(b[0], b[1], b[2]).length(),\r\n e = 1 / a.set(b[4], b[5], b[6]).length(),\r\n f = 1 / a.set(b[8], b[9], b[10]).length();\r\n c[0] = b[0] * d;\r\n c[1] = b[1] * d;\r\n c[2] = b[2] * d;\r\n c[4] = b[4] * e;\r\n c[5] = b[5] * e;\r\n c[6] = b[6] * e;\r\n c[8] = b[8] * f;\r\n c[9] = b[9] * f;\r\n c[10] = b[10] * f;\r\n return this;\r\n };\r\n })(),\r\n translate: function(a) {\r\n var b = this.elements,\r\n c = a.x,\r\n d = a.y,\r\n a = a.z;\r\n b[12] = b[0] * c + b[4] * d + b[8] * a + b[12];\r\n b[13] = b[1] * c + b[5] * d + b[9] * a + b[13];\r\n b[14] = b[2] * c + b[6] * d + b[10] * a + b[14];\r\n b[15] = b[3] * c + b[7] * d + b[11] * a + b[15];\r\n return this;\r\n },\r\n rotateX: function(a) {\r\n var b = this.elements,\r\n c = b[4],\r\n d = b[5],\r\n e = b[6],\r\n f = b[7],\r\n g = b[8],\r\n h = b[9],\r\n i = b[10],\r\n k = b[11],\r\n l = Math.cos(a),\r\n a = Math.sin(a);\r\n b[4] = l * c + a * g;\r\n b[5] = l * d + a * h;\r\n b[6] = l * e + a * i;\r\n b[7] = l * f + a * k;\r\n b[8] = l * g - a * c;\r\n b[9] = l * h - a * d;\r\n b[10] = l * i - a * e;\r\n b[11] = l * k - a * f;\r\n return this;\r\n },\r\n rotateY: function(a) {\r\n var b = this.elements,\r\n c = b[0],\r\n d = b[1],\r\n e = b[2],\r\n f = b[3],\r\n g = b[8],\r\n h = b[9],\r\n i = b[10],\r\n k = b[11],\r\n l = Math.cos(a),\r\n a = Math.sin(a);\r\n b[0] = l * c - a * g;\r\n b[1] = l * d - a * h;\r\n b[2] = l * e - a * i;\r\n b[3] = l * f - a * k;\r\n b[8] = l * g + a * c;\r\n b[9] = l * h + a * d;\r\n b[10] = l * i + a * e;\r\n b[11] = l * k + a * f;\r\n return this;\r\n },\r\n rotateZ: function(a) {\r\n var b = this.elements,\r\n c = b[0],\r\n d = b[1],\r\n e = b[2],\r\n f = b[3],\r\n g = b[4],\r\n h = b[5],\r\n i = b[6],\r\n k = b[7],\r\n l = Math.cos(a),\r\n a = Math.sin(a);\r\n b[0] = l * c + a * g;\r\n b[1] = l * d + a * h;\r\n b[2] = l * e + a * i;\r\n b[3] = l * f + a * k;\r\n b[4] = l * g - a * c;\r\n b[5] = l * h - a * d;\r\n b[6] = l * i - a * e;\r\n b[7] = l * k - a * f;\r\n return this;\r\n },\r\n rotateByAxis: function(a, b) {\r\n var c = this.elements;\r\n if (1 === a.x && 0 === a.y && 0 === a.z) return this.rotateX(b);\r\n if (0 === a.x && 1 === a.y && 0 === a.z) return this.rotateY(b);\r\n if (0 === a.x && 0 === a.y && 1 === a.z) return this.rotateZ(b);\r\n var d = a.x,\r\n e = a.y,\r\n f = a.z,\r\n g = Math.sqrt(d * d + e * e + f * f),\r\n d = d / g,\r\n e = e / g,\r\n f = f / g,\r\n g = d * d,\r\n h = e * e,\r\n i = f * f,\r\n k = Math.cos(b),\r\n l = Math.sin(b),\r\n m = 1 - k,\r\n n = d * e * m,\r\n s = d * f * m,\r\n m = e * f * m,\r\n d = d * l,\r\n r = e * l,\r\n l = f * l,\r\n f = g + (1 - g) * k,\r\n g = n + l,\r\n e = s - r,\r\n n = n - l,\r\n h = h + (1 - h) * k,\r\n l = m + d,\r\n s = s + r,\r\n m = m - d,\r\n i = i + (1 - i) * k,\r\n k = c[0],\r\n d = c[1],\r\n r = c[2],\r\n p = c[3],\r\n q = c[4],\r\n y = c[5],\r\n v = c[6],\r\n z = c[7],\r\n t = c[8],\r\n A = c[9],\r\n I = c[10],\r\n C = c[11];\r\n c[0] = f * k + g * q + e * t;\r\n c[1] = f * d + g * y + e * A;\r\n c[2] = f * r + g * v + e * I;\r\n c[3] = f * p + g * z + e * C;\r\n c[4] = n * k + h * q + l * t;\r\n c[5] = n * d + h * y + l * A;\r\n c[6] = n * r + h * v + l * I;\r\n c[7] = n * p + h * z + l * C;\r\n c[8] = s * k + m * q + i * t;\r\n c[9] = s * d + m * y + i * A;\r\n c[10] = s * r + m * v + i * I;\r\n c[11] = s * p + m * z + i * C;\r\n return this;\r\n },\r\n scale: function(a) {\r\n var b = this.elements,\r\n c = a.x,\r\n d = a.y,\r\n a = a.z;\r\n b[0] *= c;\r\n b[4] *= d;\r\n b[8] *= a;\r\n b[1] *= c;\r\n b[5] *= d;\r\n b[9] *= a;\r\n b[2] *= c;\r\n b[6] *= d;\r\n b[10] *= a;\r\n b[3] *= c;\r\n b[7] *= d;\r\n b[11] *= a;\r\n return this;\r\n },\r\n getMaxScaleOnAxis: function() {\r\n var a = this.elements;\r\n return Math.sqrt(\r\n Math.max(\r\n a[0] * a[0] + a[1] * a[1] + a[2] * a[2],\r\n Math.max(\r\n a[4] * a[4] + a[5] * a[5] + a[6] * a[6],\r\n a[8] * a[8] + a[9] * a[9] + a[10] * a[10]\r\n )\r\n )\r\n );\r\n },\r\n makeTranslation: function(a, b, c) {\r\n this.set(1, 0, 0, a, 0, 1, 0, b, 0, 0, 1, c, 0, 0, 0, 1);\r\n return this;\r\n },\r\n makeRotationX: function(a) {\r\n var b = Math.cos(a),\r\n a = Math.sin(a);\r\n this.set(1, 0, 0, 0, 0, b, -a, 0, 0, a, b, 0, 0, 0, 0, 1);\r\n return this;\r\n },\r\n makeRotationY: function(a) {\r\n var b = Math.cos(a),\r\n a = Math.sin(a);\r\n this.set(b, 0, a, 0, 0, 1, 0, 0, -a, 0, b, 0, 0, 0, 0, 1);\r\n return this;\r\n },\r\n makeRotationZ: function(a) {\r\n var b = Math.cos(a),\r\n a = Math.sin(a);\r\n this.set(b, -a, 0, 0, a, b, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\r\n return this;\r\n },\r\n makeRotationAxis: function(a, b) {\r\n var c = Math.cos(b),\r\n d = Math.sin(b),\r\n e = 1 - c,\r\n f = a.x,\r\n g = a.y,\r\n h = a.z,\r\n i = e * f,\r\n k = e * g;\r\n this.set(\r\n i * f + c,\r\n i * g - d * h,\r\n i * h + d * g,\r\n 0,\r\n i * g + d * h,\r\n k * g + c,\r\n k * h - d * f,\r\n 0,\r\n i * h - d * g,\r\n k * h + d * f,\r\n e * h * h + c,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 1\r\n );\r\n return this;\r\n },\r\n makeScale: function(a, b, c) {\r\n this.set(a, 0, 0, 0, 0, b, 0, 0, 0, 0, c, 0, 0, 0, 0, 1);\r\n return this;\r\n },\r\n makeFrustum: function(a, b, c, d, e, f) {\r\n var g = this.elements;\r\n g[0] = (2 * e) / (b - a);\r\n g[4] = 0;\r\n g[8] = (b + a) / (b - a);\r\n g[12] = 0;\r\n g[1] = 0;\r\n g[5] = (2 * e) / (d - c);\r\n g[9] = (d + c) / (d - c);\r\n g[13] = 0;\r\n g[2] = 0;\r\n g[6] = 0;\r\n g[10] = -(f + e) / (f - e);\r\n g[14] = (-2 * f * e) / (f - e);\r\n g[3] = 0;\r\n g[7] = 0;\r\n g[11] = -1;\r\n g[15] = 0;\r\n return this;\r\n },\r\n makePerspective: function(a, b, c, d) {\r\n var a = c * Math.tan(THREE.Math.degToRad(0.5 * a)),\r\n e = -a;\r\n return this.makeFrustum(e * b, a * b, e, a, c, d);\r\n },\r\n makeOrthographic: function(a, b, c, d, e, f) {\r\n var g = this.elements,\r\n h = b - a,\r\n i = c - d,\r\n k = f - e;\r\n g[0] = 2 / h;\r\n g[4] = 0;\r\n g[8] = 0;\r\n g[12] = -((b + a) / h);\r\n g[1] = 0;\r\n g[5] = 2 / i;\r\n g[9] = 0;\r\n g[13] = -((c + d) / i);\r\n g[2] = 0;\r\n g[6] = 0;\r\n g[10] = -2 / k;\r\n g[14] = -((f + e) / k);\r\n g[3] = 0;\r\n g[7] = 0;\r\n g[11] = 0;\r\n g[15] = 1;\r\n return this;\r\n },\r\n clone: function() {\r\n var a = this.elements;\r\n return new THREE.Matrix4(\r\n a[0],\r\n a[4],\r\n a[8],\r\n a[12],\r\n a[1],\r\n a[5],\r\n a[9],\r\n a[13],\r\n a[2],\r\n a[6],\r\n a[10],\r\n a[14],\r\n a[3],\r\n a[7],\r\n a[11],\r\n a[15]\r\n );\r\n }\r\n});\r\nTHREE.Ray = function(a, b) {\r\n this.origin = void 0 !== a ? a : new THREE.Vector3();\r\n this.direction = void 0 !== b ? b : new THREE.Vector3();\r\n};\r\nTHREE.extend(THREE.Ray.prototype, {\r\n set: function(a, b) {\r\n this.origin.copy(a);\r\n this.direction.copy(b);\r\n return this;\r\n },\r\n copy: function(a) {\r\n this.origin.copy(a.origin);\r\n this.direction.copy(a.direction);\r\n return this;\r\n },\r\n at: function(a, b) {\r\n return (b || new THREE.Vector3())\r\n .copy(this.direction)\r\n .multiplyScalar(a)\r\n .add(this.origin);\r\n },\r\n recast: (function() {\r\n var a = new THREE.Vector3();\r\n return function(b) {\r\n this.origin.copy(this.at(b, a));\r\n return this;\r\n };\r\n })(),\r\n closestPointToPoint: function(a, b) {\r\n var c = b || new THREE.Vector3();\r\n c.subVectors(a, this.origin);\r\n var d = c.dot(this.direction);\r\n return c\r\n .copy(this.direction)\r\n .multiplyScalar(d)\r\n .add(this.origin);\r\n },\r\n distanceToPoint: (function() {\r\n var a = new THREE.Vector3();\r\n return function(b) {\r\n var c = a.subVectors(b, this.origin).dot(this.direction);\r\n a.copy(this.direction)\r\n .multiplyScalar(c)\r\n .add(this.origin);\r\n return a.distanceTo(b);\r\n };\r\n })(),\r\n isIntersectionSphere: function(a) {\r\n return this.distanceToPoint(a.center) <= a.radius;\r\n },\r\n isIntersectionPlane: function(a) {\r\n return 0 != a.normal.dot(this.direction) ||\r\n 0 == a.distanceToPoint(this.origin)\r\n ? !0\r\n : !1;\r\n },\r\n distanceToPlane: function(a) {\r\n var b = a.normal.dot(this.direction);\r\n if (0 == b) {\r\n if (0 == a.distanceToPoint(this.origin)) return 0;\r\n } else return -(this.origin.dot(a.normal) + a.constant) / b;\r\n },\r\n intersectPlane: function(a, b) {\r\n var c = this.distanceToPlane(a);\r\n return void 0 === c ? void 0 : this.at(c, b);\r\n },\r\n applyMatrix4: function(a) {\r\n this.direction.add(this.origin).applyMatrix4(a);\r\n this.origin.applyMatrix4(a);\r\n this.direction.sub(this.origin);\r\n return this;\r\n },\r\n equals: function(a) {\r\n return a.origin.equals(this.origin) && a.direction.equals(this.direction);\r\n },\r\n clone: function() {\r\n return new THREE.Ray().copy(this);\r\n }\r\n});\r\nTHREE.Sphere = function(a, b) {\r\n this.center = void 0 !== a ? a : new THREE.Vector3();\r\n this.radius = void 0 !== b ? b : 0;\r\n};\r\nTHREE.extend(THREE.Sphere.prototype, {\r\n set: function(a, b) {\r\n this.center.copy(a);\r\n this.radius = b;\r\n return this;\r\n },\r\n setFromCenterAndPoints: function(a, b) {\r\n for (var c = 0, d = 0, e = b.length; d < e; d++)\r\n var f = a.distanceToSquared(b[d]), c = Math.max(c, f);\r\n this.center = a;\r\n this.radius = Math.sqrt(c);\r\n return this;\r\n },\r\n copy: function(a) {\r\n this.center.copy(a.center);\r\n this.radius = a.radius;\r\n return this;\r\n },\r\n empty: function() {\r\n return 0 >= this.radius;\r\n },\r\n containsPoint: function(a) {\r\n return a.distanceToSquared(this.center) <= this.radius * this.radius;\r\n },\r\n distanceToPoint: function(a) {\r\n return a.distanceTo(this.center) - this.radius;\r\n },\r\n intersectsSphere: function(a) {\r\n var b = this.radius + a.radius;\r\n return a.center.distanceToSquared(this.center) <= b * b;\r\n },\r\n clampPoint: function(a, b) {\r\n var c = this.center.distanceToSquared(a),\r\n d = b || new THREE.Vector3();\r\n d.copy(a);\r\n c > this.radius * this.radius &&\r\n (d.sub(this.center).normalize(),\r\n d.multiplyScalar(this.radius).add(this.center));\r\n return d;\r\n },\r\n getBoundingBox: function(a) {\r\n a = a || new THREE.Box3();\r\n a.set(this.center, this.center);\r\n a.expandByScalar(this.radius);\r\n return a;\r\n },\r\n applyMatrix4: function(a) {\r\n this.center.applyMatrix4(a);\r\n this.radius *= a.getMaxScaleOnAxis();\r\n return this;\r\n },\r\n translate: function(a) {\r\n this.center.add(a);\r\n return this;\r\n },\r\n equals: function(a) {\r\n return a.center.equals(this.center) && a.radius === this.radius;\r\n },\r\n clone: function() {\r\n return new THREE.Sphere().copy(this);\r\n }\r\n});\r\nTHREE.Frustum = function(a, b, c, d, e, f) {\r\n this.planes = [\r\n void 0 !== a ? a : new THREE.Plane(),\r\n void 0 !== b ? b : new THREE.Plane(),\r\n void 0 !== c ? c : new THREE.Plane(),\r\n void 0 !== d ? d : new THREE.Plane(),\r\n void 0 !== e ? e : new THREE.Plane(),\r\n void 0 !== f ? f : new THREE.Plane()\r\n ];\r\n};\r\nTHREE.extend(THREE.Frustum.prototype, {\r\n set: function(a, b, c, d, e, f) {\r\n var g = this.planes;\r\n g[0].copy(a);\r\n g[1].copy(b);\r\n g[2].copy(c);\r\n g[3].copy(d);\r\n g[4].copy(e);\r\n g[5].copy(f);\r\n return this;\r\n },\r\n copy: function(a) {\r\n for (var b = this.planes, c = 0; 6 > c; c++) b[c].copy(a.planes[c]);\r\n return this;\r\n },\r\n setFromMatrix: function(a) {\r\n var b = this.planes,\r\n c = a.elements,\r\n a = c[0],\r\n d = c[1],\r\n e = c[2],\r\n f = c[3],\r\n g = c[4],\r\n h = c[5],\r\n i = c[6],\r\n k = c[7],\r\n l = c[8],\r\n m = c[9],\r\n n = c[10],\r\n s = c[11],\r\n r = c[12],\r\n p = c[13],\r\n q = c[14],\r\n c = c[15];\r\n b[0].setComponents(f - a, k - g, s - l, c - r).normalize();\r\n b[1].setComponents(f + a, k + g, s + l, c + r).normalize();\r\n b[2].setComponents(f + d, k + h, s + m, c + p).normalize();\r\n b[3].setComponents(f - d, k - h, s - m, c - p).normalize();\r\n b[4].setComponents(f - e, k - i, s - n, c - q).normalize();\r\n b[5].setComponents(f + e, k + i, s + n, c + q).normalize();\r\n return this;\r\n },\r\n intersectsObject: (function() {\r\n var a = new THREE.Vector3();\r\n return function(b) {\r\n var c = b.matrixWorld,\r\n d = this.planes,\r\n b = -b.geometry.boundingSphere.radius * c.getMaxScaleOnAxis();\r\n a.getPositionFromMatrix(c);\r\n for (c = 0; 6 > c; c++) if (d[c].distanceToPoint(a) < b) return !1;\r\n return !0;\r\n };\r\n })(),\r\n intersectsSphere: function(a) {\r\n for (var b = this.planes, c = a.center, a = -a.radius, d = 0; 6 > d; d++)\r\n if (b[d].distanceToPoint(c) < a) return !1;\r\n return !0;\r\n },\r\n containsPoint: function(a) {\r\n for (var b = this.planes, c = 0; 6 > c; c++)\r\n if (0 > b[c].distanceToPoint(a)) return !1;\r\n return !0;\r\n },\r\n clone: function() {\r\n return new THREE.Frustum().copy(this);\r\n }\r\n});\r\nTHREE.Plane = function(a, b) {\r\n this.normal = void 0 !== a ? a : new THREE.Vector3(1, 0, 0);\r\n this.constant = void 0 !== b ? b : 0;\r\n};\r\nTHREE.extend(THREE.Plane.prototype, {\r\n set: function(a, b) {\r\n this.normal.copy(a);\r\n this.constant = b;\r\n return this;\r\n },\r\n setComponents: function(a, b, c, d) {\r\n this.normal.set(a, b, c);\r\n this.constant = d;\r\n return this;\r\n },\r\n setFromNormalAndCoplanarPoint: function(a, b) {\r\n this.normal.copy(a);\r\n this.constant = -b.dot(this.normal);\r\n return this;\r\n },\r\n setFromCoplanarPoints: (function() {\r\n var a = new THREE.Vector3(),\r\n b = new THREE.Vector3();\r\n return function(c, d, e) {\r\n d = a\r\n .subVectors(e, d)\r\n .cross(b.subVectors(c, d))\r\n .normalize();\r\n this.setFromNormalAndCoplanarPoint(d, c);\r\n return this;\r\n };\r\n })(),\r\n copy: function(a) {\r\n this.normal.copy(a.normal);\r\n this.constant = a.constant;\r\n return this;\r\n },\r\n normalize: function() {\r\n var a = 1 / this.normal.length();\r\n this.normal.multiplyScalar(a);\r\n this.constant *= a;\r\n return this;\r\n },\r\n negate: function() {\r\n this.constant *= -1;\r\n this.normal.negate();\r\n return this;\r\n },\r\n distanceToPoint: function(a) {\r\n return this.normal.dot(a) + this.constant;\r\n },\r\n distanceToSphere: function(a) {\r\n return this.distanceToPoint(a.center) - a.radius;\r\n },\r\n projectPoint: function(a, b) {\r\n return this.orthoPoint(a, b)\r\n .sub(a)\r\n .negate();\r\n },\r\n orthoPoint: function(a, b) {\r\n var c = this.distanceToPoint(a);\r\n return (b || new THREE.Vector3()).copy(this.normal).multiplyScalar(c);\r\n },\r\n isIntersectionLine: function(a) {\r\n var b = this.distanceToPoint(a.start),\r\n a = this.distanceToPoint(a.end);\r\n return (0 > b && 0 < a) || (0 > a && 0 < b);\r\n },\r\n intersectLine: (function() {\r\n var a = new THREE.Vector3();\r\n return function(b, c) {\r\n var d = c || new THREE.Vector3(),\r\n e = b.delta(a),\r\n f = this.normal.dot(e);\r\n if (0 == f) {\r\n if (0 == this.distanceToPoint(b.start)) return d.copy(b.start);\r\n } else\r\n return (\r\n (f = -(b.start.dot(this.normal) + this.constant) / f),\r\n 0 > f || 1 < f\r\n ? void 0\r\n : d\r\n .copy(e)\r\n .multiplyScalar(f)\r\n .add(b.start)\r\n );\r\n };\r\n })(),\r\n coplanarPoint: function(a) {\r\n return (a || new THREE.Vector3())\r\n .copy(this.normal)\r\n .multiplyScalar(-this.constant);\r\n },\r\n applyMatrix4: (function() {\r\n var a = new THREE.Vector3(),\r\n b = new THREE.Vector3();\r\n return function(c, d) {\r\n var d = d || new THREE.Matrix3().getInverse(c).transpose(),\r\n e = a.copy(this.normal).applyMatrix3(d),\r\n f = this.coplanarPoint(b);\r\n f.applyMatrix4(c);\r\n this.setFromNormalAndCoplanarPoint(e, f);\r\n return this;\r\n };\r\n })(),\r\n translate: function(a) {\r\n this.constant -= a.dot(this.normal);\r\n return this;\r\n },\r\n equals: function(a) {\r\n return a.normal.equals(this.normal) && a.constant == this.constant;\r\n },\r\n clone: function() {\r\n return new THREE.Plane().copy(this);\r\n }\r\n});\r\nTHREE.Math = {\r\n clamp: function(a, b, c) {\r\n return a < b ? b : a > c ? c : a;\r\n },\r\n clampBottom: function(a, b) {\r\n return a < b ? b : a;\r\n },\r\n mapLinear: function(a, b, c, d, e) {\r\n return d + ((a - b) * (e - d)) / (c - b);\r\n },\r\n smoothstep: function(a, b, c) {\r\n if (a <= b) return 0;\r\n if (a >= c) return 1;\r\n a = (a - b) / (c - b);\r\n return a * a * (3 - 2 * a);\r\n },\r\n smootherstep: function(a, b, c) {\r\n if (a <= b) return 0;\r\n if (a >= c) return 1;\r\n a = (a - b) / (c - b);\r\n return a * a * a * (a * (6 * a - 15) + 10);\r\n },\r\n random16: function() {\r\n return (65280 * Math.random() + 255 * Math.random()) / 65535;\r\n },\r\n randInt: function(a, b) {\r\n return a + Math.floor(Math.random() * (b - a + 1));\r\n },\r\n randFloat: function(a, b) {\r\n return a + Math.random() * (b - a);\r\n },\r\n randFloatSpread: function(a) {\r\n return a * (0.5 - Math.random());\r\n },\r\n sign: function(a) {\r\n return 0 > a ? -1 : 0 < a ? 1 : 0;\r\n },\r\n degToRad: (function() {\r\n var a = Math.PI / 180;\r\n return function(b) {\r\n return b * a;\r\n };\r\n })(),\r\n radToDeg: (function() {\r\n var a = 180 / Math.PI;\r\n return function(b) {\r\n return b * a;\r\n };\r\n })()\r\n};\r\nTHREE.Spline = function(a) {\r\n function b(a, b, c, d, e, f, g) {\r\n a = 0.5 * (c - a);\r\n d = 0.5 * (d - b);\r\n return (\r\n (2 * (b - c) + a + d) * g + (-3 * (b - c) - 2 * a - d) * f + a * e + b\r\n );\r\n }\r\n this.points = a;\r\n var c = [],\r\n d = { x: 0, y: 0, z: 0 },\r\n e,\r\n f,\r\n g,\r\n h,\r\n i,\r\n k,\r\n l,\r\n m,\r\n n;\r\n this.initFromArray = function(a) {\r\n this.points = [];\r\n for (var b = 0; b < a.length; b++)\r\n this.points[b] = { x: a[b][0], y: a[b][1], z: a[b][2] };\r\n };\r\n this.getPoint = function(a) {\r\n e = (this.points.length - 1) * a;\r\n f = Math.floor(e);\r\n g = e - f;\r\n c[0] = 0 === f ? f : f - 1;\r\n c[1] = f;\r\n c[2] = f > this.points.length - 2 ? this.points.length - 1 : f + 1;\r\n c[3] = f > this.points.length - 3 ? this.points.length - 1 : f + 2;\r\n k = this.points[c[0]];\r\n l = this.points[c[1]];\r\n m = this.points[c[2]];\r\n n = this.points[c[3]];\r\n h = g * g;\r\n i = g * h;\r\n d.x = b(k.x, l.x, m.x, n.x, g, h, i);\r\n d.y = b(k.y, l.y, m.y, n.y, g, h, i);\r\n d.z = b(k.z, l.z, m.z, n.z, g, h, i);\r\n return d;\r\n };\r\n this.getControlPointsArray = function() {\r\n var a,\r\n b,\r\n c = this.points.length,\r\n d = [];\r\n for (a = 0; a < c; a++) (b = this.points[a]), (d[a] = [b.x, b.y, b.z]);\r\n return d;\r\n };\r\n this.getLength = function(a) {\r\n var b,\r\n c,\r\n d,\r\n e = (b = b = 0),\r\n f = new THREE.Vector3(),\r\n g = new THREE.Vector3(),\r\n h = [],\r\n i = 0;\r\n h[0] = 0;\r\n a || (a = 100);\r\n c = this.points.length * a;\r\n f.copy(this.points[0]);\r\n for (a = 1; a < c; a++)\r\n (b = a / c),\r\n (d = this.getPoint(b)),\r\n g.copy(d),\r\n (i += g.distanceTo(f)),\r\n f.copy(d),\r\n (b *= this.points.length - 1),\r\n (b = Math.floor(b)),\r\n b != e && ((h[b] = i), (e = b));\r\n h[h.length] = i;\r\n return { chunks: h, total: i };\r\n };\r\n this.reparametrizeByArcLength = function(a) {\r\n var b,\r\n c,\r\n d,\r\n e,\r\n f,\r\n g,\r\n h = [],\r\n i = new THREE.Vector3(),\r\n k = this.getLength();\r\n h.push(i.copy(this.points[0]).clone());\r\n for (b = 1; b < this.points.length; b++) {\r\n c = k.chunks[b] - k.chunks[b - 1];\r\n g = Math.ceil((a * c) / k.total);\r\n e = (b - 1) / (this.points.length - 1);\r\n f = b / (this.points.length - 1);\r\n for (c = 1; c < g - 1; c++)\r\n (d = e + c * (1 / g) * (f - e)),\r\n (d = this.getPoint(d)),\r\n h.push(i.copy(d).clone());\r\n h.push(i.copy(this.points[b]).clone());\r\n }\r\n this.points = h;\r\n };\r\n};\r\nTHREE.Triangle = function(a, b, c) {\r\n this.a = void 0 !== a ? a : new THREE.Vector3();\r\n this.b = void 0 !== b ? b : new THREE.Vector3();\r\n this.c = void 0 !== c ? c : new THREE.Vector3();\r\n};\r\nTHREE.Triangle.normal = (function() {\r\n var a = new THREE.Vector3();\r\n return function(b, c, d, e) {\r\n e = e || new THREE.Vector3();\r\n e.subVectors(d, c);\r\n a.subVectors(b, c);\r\n e.cross(a);\r\n b = e.lengthSq();\r\n return 0 < b ? e.multiplyScalar(1 / Math.sqrt(b)) : e.set(0, 0, 0);\r\n };\r\n})();\r\nTHREE.Triangle.barycoordFromPoint = (function() {\r\n var a = new THREE.Vector3(),\r\n b = new THREE.Vector3(),\r\n c = new THREE.Vector3();\r\n return function(d, e, f, g, h) {\r\n a.subVectors(g, e);\r\n b.subVectors(f, e);\r\n c.subVectors(d, e);\r\n var d = a.dot(a),\r\n e = a.dot(b),\r\n f = a.dot(c),\r\n i = b.dot(b),\r\n g = b.dot(c),\r\n k = d * i - e * e,\r\n h = h || new THREE.Vector3();\r\n if (0 == k) return h.set(-2, -1, -1);\r\n k = 1 / k;\r\n i = (i * f - e * g) * k;\r\n d = (d * g - e * f) * k;\r\n return h.set(1 - i - d, d, i);\r\n };\r\n})();\r\nTHREE.Triangle.containsPoint = (function() {\r\n var a = new THREE.Vector3();\r\n return function(b, c, d, e) {\r\n b = THREE.Triangle.barycoordFromPoint(b, c, d, e, a);\r\n return 0 <= b.x && 0 <= b.y && 1 >= b.x + b.y;\r\n };\r\n})();\r\nTHREE.extend(THREE.Triangle.prototype, {\r\n constructor: THREE.Triangle,\r\n set: function(a, b, c) {\r\n this.a.copy(a);\r\n this.b.copy(b);\r\n this.c.copy(c);\r\n return this;\r\n },\r\n setFromPointsAndIndices: function(a, b, c, d) {\r\n this.a.copy(a[b]);\r\n this.b.copy(a[c]);\r\n this.c.copy(a[d]);\r\n return this;\r\n },\r\n copy: function(a) {\r\n this.a.copy(a.a);\r\n this.b.copy(a.b);\r\n this.c.copy(a.c);\r\n return this;\r\n },\r\n area: (function() {\r\n var a = new THREE.Vector3(),\r\n b = new THREE.Vector3();\r\n return function() {\r\n a.subVectors(this.c, this.b);\r\n b.subVectors(this.a, this.b);\r\n return 0.5 * a.cross(b).length();\r\n };\r\n })(),\r\n midpoint: function(a) {\r\n return (a || new THREE.Vector3())\r\n .addVectors(this.a, this.b)\r\n .add(this.c)\r\n .multiplyScalar(1 / 3);\r\n },\r\n normal: function(a) {\r\n return THREE.Triangle.normal(this.a, this.b, this.c, a);\r\n },\r\n plane: function(a) {\r\n return (a || new THREE.Plane()).setFromCoplanarPoints(\r\n this.a,\r\n this.b,\r\n this.c\r\n );\r\n },\r\n barycoordFromPoint: function(a, b) {\r\n return THREE.Triangle.barycoordFromPoint(a, this.a, this.b, this.c, b);\r\n },\r\n containsPoint: function(a) {\r\n return THREE.Triangle.containsPoint(a, this.a, this.b, this.c);\r\n },\r\n equals: function(a) {\r\n return a.a.equals(this.a) && a.b.equals(this.b) && a.c.equals(this.c);\r\n },\r\n clone: function() {\r\n return new THREE.Triangle().copy(this);\r\n }\r\n});\r\nTHREE.Vertex = function(a) {\r\n console.warn(\"THREE.Vertex has been DEPRECATED. Use THREE.Vector3 instead.\");\r\n return a;\r\n};\r\nTHREE.UV = function(a, b) {\r\n console.warn(\"THREE.UV has been DEPRECATED. Use THREE.Vector2 instead.\");\r\n return new THREE.Vector2(a, b);\r\n};\r\nTHREE.Clock = function(a) {\r\n this.autoStart = void 0 !== a ? a : !0;\r\n this.elapsedTime = this.oldTime = this.startTime = 0;\r\n this.running = !1;\r\n};\r\nTHREE.extend(THREE.Clock.prototype, {\r\n start: function() {\r\n this.oldTime = this.startTime =\r\n void 0 !== window.performance && void 0 !== window.performance.now\r\n ? window.performance.now()\r\n : Date.now();\r\n this.running = !0;\r\n },\r\n stop: function() {\r\n this.getElapsedTime();\r\n this.running = !1;\r\n },\r\n getElapsedTime: function() {\r\n this.getDelta();\r\n return this.elapsedTime;\r\n },\r\n getDelta: function() {\r\n var a = 0;\r\n this.autoStart && !this.running && this.start();\r\n if (this.running) {\r\n var b =\r\n void 0 !== window.performance && void 0 !== window.performance.now\r\n ? window.performance.now()\r\n : Date.now(),\r\n a = 0.001 * (b - this.oldTime);\r\n this.oldTime = b;\r\n this.elapsedTime += a;\r\n }\r\n return a;\r\n }\r\n});\r\nTHREE.EventDispatcher = function() {\r\n var a = {};\r\n this.addEventListener = function(b, c) {\r\n void 0 === a[b] && (a[b] = []);\r\n -1 === a[b].indexOf(c) && a[b].push(c);\r\n };\r\n this.removeEventListener = function(b, c) {\r\n var d = a[b].indexOf(c);\r\n -1 !== d && a[b].splice(d, 1);\r\n };\r\n this.dispatchEvent = function(b) {\r\n var c = a[b.type];\r\n if (void 0 !== c) {\r\n b.target = this;\r\n for (var d = 0, e = c.length; d < e; d++) c[d].call(this, b);\r\n }\r\n };\r\n};\r\n(function(a) {\r\n a.Raycaster = function(b, c, d, e) {\r\n this.ray = new a.Ray(b, c);\r\n 0 < this.ray.direction.lengthSq() && this.ray.direction.normalize();\r\n this.near = d || 0;\r\n this.far = e || Infinity;\r\n };\r\n var b = new a.Sphere(),\r\n c = new a.Ray(),\r\n d = new a.Plane(),\r\n e = new a.Vector3(),\r\n f = new a.Vector3(),\r\n g = new a.Matrix4(),\r\n h = function(a, b) {\r\n return a.distance - b.distance;\r\n },\r\n i = function(h, i, k) {\r\n if (h instanceof a.Particle) {\r\n f.getPositionFromMatrix(h.matrixWorld);\r\n i = i.ray.distanceToPoint(f);\r\n if (i > h.scale.x) return k;\r\n k.push({ distance: i, point: h.position, face: null, object: h });\r\n } else if (h instanceof a.Mesh) {\r\n f.getPositionFromMatrix(h.matrixWorld);\r\n b.set(\r\n f,\r\n h.geometry.boundingSphere.radius * h.matrixWorld.getMaxScaleOnAxis()\r\n );\r\n if (!i.ray.isIntersectionSphere(b)) return k;\r\n var s = h.geometry,\r\n r = s.vertices,\r\n p = h.material instanceof a.MeshFaceMaterial,\r\n q = !0 === p ? h.material.materials : null,\r\n y = h.material.side,\r\n v,\r\n z,\r\n t,\r\n A = i.precision;\r\n h.matrixRotationWorld.extractRotation(h.matrixWorld);\r\n g.getInverse(h.matrixWorld);\r\n c.copy(i.ray).applyMatrix4(g);\r\n for (var I = 0, C = s.faces.length; I < C; I++) {\r\n var x = s.faces[I],\r\n y = !0 === p ? q[x.materialIndex] : h.material;\r\n if (void 0 !== y) {\r\n d.setFromNormalAndCoplanarPoint(x.normal, r[x.a]);\r\n var G = c.distanceToPlane(d);\r\n if (!(Math.abs(G) < A) && !(0 > G)) {\r\n y = y.side;\r\n if (\r\n y !== a.DoubleSide &&\r\n ((v = c.direction.dot(d.normal)),\r\n !(y === a.FrontSide ? 0 > v : 0 < v))\r\n )\r\n continue;\r\n if (!(G < i.near || G > i.far)) {\r\n e = c.at(G, e);\r\n if (x instanceof a.Face3) {\r\n if (\r\n ((y = r[x.a]),\r\n (v = r[x.b]),\r\n (z = r[x.c]),\r\n !a.Triangle.containsPoint(e, y, v, z))\r\n )\r\n continue;\r\n } else if (x instanceof a.Face4) {\r\n if (\r\n ((y = r[x.a]),\r\n (v = r[x.b]),\r\n (z = r[x.c]),\r\n (t = r[x.d]),\r\n !a.Triangle.containsPoint(e, y, v, t) &&\r\n !a.Triangle.containsPoint(e, v, z, t))\r\n )\r\n continue;\r\n } else throw Error(\"face type not supported\");\r\n k.push({\r\n distance: G,\r\n point: i.ray.at(G),\r\n face: x,\r\n faceIndex: I,\r\n object: h\r\n });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n },\r\n k = function(a, b, c) {\r\n for (var a = a.getDescendants(), d = 0, e = a.length; d < e; d++)\r\n i(a[d], b, c);\r\n };\r\n a.Raycaster.prototype.precision = 1e-4;\r\n a.Raycaster.prototype.set = function(a, b) {\r\n this.ray.set(a, b);\r\n 0 < this.ray.direction.length() && this.ray.direction.normalize();\r\n };\r\n a.Raycaster.prototype.intersectObject = function(a, b) {\r\n var c = [];\r\n !0 === b && k(a, this, c);\r\n i(a, this, c);\r\n c.sort(h);\r\n return c;\r\n };\r\n a.Raycaster.prototype.intersectObjects = function(a, b) {\r\n for (var c = [], d = 0, e = a.length; d < e; d++)\r\n i(a[d], this, c), !0 === b && k(a[d], this, c);\r\n c.sort(h);\r\n return c;\r\n };\r\n})(THREE);\r\nTHREE.Object3D = function() {\r\n this.id = THREE.Object3DIdCount++;\r\n this.name = \"\";\r\n this.properties = {};\r\n this.parent = void 0;\r\n this.children = [];\r\n this.up = new THREE.Vector3(0, 1, 0);\r\n this.position = new THREE.Vector3();\r\n this.rotation = new THREE.Vector3();\r\n this.eulerOrder = THREE.Object3D.defaultEulerOrder;\r\n this.scale = new THREE.Vector3(1, 1, 1);\r\n this.renderDepth = null;\r\n this.rotationAutoUpdate = !0;\r\n this.matrix = new THREE.Matrix4();\r\n this.matrixWorld = new THREE.Matrix4();\r\n this.matrixRotationWorld = new THREE.Matrix4();\r\n this.matrixWorldNeedsUpdate = this.matrixAutoUpdate = !0;\r\n this.quaternion = new THREE.Quaternion();\r\n this.useQuaternion = !1;\r\n this.visible = !0;\r\n this.receiveShadow = this.castShadow = !1;\r\n this.frustumCulled = !0;\r\n this._vector = new THREE.Vector3();\r\n};\r\nTHREE.Object3D.prototype = {\r\n constructor: THREE.Object3D,\r\n applyMatrix: function(a) {\r\n this.matrix.multiplyMatrices(a, this.matrix);\r\n this.scale.getScaleFromMatrix(this.matrix);\r\n a = new THREE.Matrix4().extractRotation(this.matrix);\r\n this.rotation.setEulerFromRotationMatrix(a, this.eulerOrder);\r\n this.position.getPositionFromMatrix(this.matrix);\r\n },\r\n translate: function(a, b) {\r\n this.matrix.rotateAxis(b);\r\n this.position.add(b.multiplyScalar(a));\r\n },\r\n translateX: function(a) {\r\n this.translate(a, this._vector.set(1, 0, 0));\r\n },\r\n translateY: function(a) {\r\n this.translate(a, this._vector.set(0, 1, 0));\r\n },\r\n translateZ: function(a) {\r\n this.translate(a, this._vector.set(0, 0, 1));\r\n },\r\n localToWorld: function(a) {\r\n return a.applyMatrix4(this.matrixWorld);\r\n },\r\n worldToLocal: function(a) {\r\n return a.applyMatrix4(THREE.Object3D.__m1.getInverse(this.matrixWorld));\r\n },\r\n lookAt: function(a) {\r\n this.matrix.lookAt(a, this.position, this.up);\r\n this.rotationAutoUpdate &&\r\n (!1 === this.useQuaternion\r\n ? this.rotation.setEulerFromRotationMatrix(this.matrix, this.eulerOrder)\r\n : this.quaternion.copy(this.matrix.decompose()[1]));\r\n },\r\n add: function(a) {\r\n if (a === this)\r\n console.warn(\r\n \"THREE.Object3D.add: An object can't be added as a child of itself.\"\r\n );\r\n else if (a instanceof THREE.Object3D) {\r\n void 0 !== a.parent && a.parent.remove(a);\r\n a.parent = this;\r\n this.children.push(a);\r\n for (var b = this; void 0 !== b.parent; ) b = b.parent;\r\n void 0 !== b && b instanceof THREE.Scene && b.__addObject(a);\r\n }\r\n },\r\n remove: function(a) {\r\n var b = this.children.indexOf(a);\r\n if (-1 !== b) {\r\n a.parent = void 0;\r\n this.children.splice(b, 1);\r\n for (b = this; void 0 !== b.parent; ) b = b.parent;\r\n void 0 !== b && b instanceof THREE.Scene && b.__removeObject(a);\r\n }\r\n },\r\n traverse: function(a) {\r\n a(this);\r\n for (var b = 0, c = this.children.length; b < c; b++)\r\n this.children[b].traverse(a);\r\n },\r\n getChildByName: function(a, b) {\r\n for (var c = 0, d = this.children.length; c < d; c++) {\r\n var e = this.children[c];\r\n if (\r\n e.name === a ||\r\n (!0 === b && ((e = e.getChildByName(a, b)), void 0 !== e))\r\n )\r\n return e;\r\n }\r\n },\r\n getDescendants: function(a) {\r\n void 0 === a && (a = []);\r\n Array.prototype.push.apply(a, this.children);\r\n for (var b = 0, c = this.children.length; b < c; b++)\r\n this.children[b].getDescendants(a);\r\n return a;\r\n },\r\n updateMatrix: function() {\r\n this.matrix.setPosition(this.position);\r\n !1 === this.useQuaternion\r\n ? this.matrix.setRotationFromEuler(this.rotation, this.eulerOrder)\r\n : this.matrix.setRotationFromQuaternion(this.quaternion);\r\n (1 !== this.scale.x || 1 !== this.scale.y || 1 !== this.scale.z) &&\r\n this.matrix.scale(this.scale);\r\n this.matrixWorldNeedsUpdate = !0;\r\n },\r\n updateMatrixWorld: function(a) {\r\n !0 === this.matrixAutoUpdate && this.updateMatrix();\r\n if (!0 === this.matrixWorldNeedsUpdate || !0 === a)\r\n void 0 === this.parent\r\n ? this.matrixWorld.copy(this.matrix)\r\n : this.matrixWorld.multiplyMatrices(\r\n this.parent.matrixWorld,\r\n this.matrix\r\n ),\r\n (this.matrixWorldNeedsUpdate = !1),\r\n (a = !0);\r\n for (var b = 0, c = this.children.length; b < c; b++)\r\n this.children[b].updateMatrixWorld(a);\r\n },\r\n clone: function(a) {\r\n void 0 === a && (a = new THREE.Object3D());\r\n a.name = this.name;\r\n a.up.copy(this.up);\r\n a.position.copy(this.position);\r\n a.rotation instanceof THREE.Vector3 && a.rotation.copy(this.rotation);\r\n a.eulerOrder = this.eulerOrder;\r\n a.scale.copy(this.scale);\r\n a.renderDepth = this.renderDepth;\r\n a.rotationAutoUpdate = this.rotationAutoUpdate;\r\n a.matrix.copy(this.matrix);\r\n a.matrixWorld.copy(this.matrixWorld);\r\n a.matrixRotationWorld.copy(this.matrixRotationWorld);\r\n a.matrixAutoUpdate = this.matrixAutoUpdate;\r\n a.matrixWorldNeedsUpdate = this.matrixWorldNeedsUpdate;\r\n a.quaternion.copy(this.quaternion);\r\n a.useQuaternion = this.useQuaternion;\r\n a.visible = this.visible;\r\n a.castShadow = this.castShadow;\r\n a.receiveShadow = this.receiveShadow;\r\n a.frustumCulled = this.frustumCulled;\r\n for (var b = 0; b < this.children.length; b++)\r\n a.add(this.children[b].clone());\r\n return a;\r\n }\r\n};\r\nTHREE.Object3D.__m1 = new THREE.Matrix4();\r\nTHREE.Object3D.defaultEulerOrder = \"XYZ\";\r\nTHREE.Object3DIdCount = 0;\r\nTHREE.Projector = function() {\r\n function a() {\r\n if (f === h) {\r\n var a = new THREE.RenderableObject();\r\n g.push(a);\r\n h++;\r\n f++;\r\n return a;\r\n }\r\n return g[f++];\r\n }\r\n function b() {\r\n if (k === m) {\r\n var a = new THREE.RenderableVertex();\r\n l.push(a);\r\n m++;\r\n k++;\r\n return a;\r\n }\r\n return l[k++];\r\n }\r\n function c(a, b) {\r\n return b.z - a.z;\r\n }\r\n function d(a, b) {\r\n var c = 0,\r\n d = 1,\r\n e = a.z + a.w,\r\n f = b.z + b.w,\r\n g = -a.z + a.w,\r\n h = -b.z + b.w;\r\n if (0 <= e && 0 <= f && 0 <= g && 0 <= h) return !0;\r\n if ((0 > e && 0 > f) || (0 > g && 0 > h)) return !1;\r\n 0 > e\r\n ? (c = Math.max(c, e / (e - f)))\r\n : 0 > f && (d = Math.min(d, e / (e - f)));\r\n 0 > g\r\n ? (c = Math.max(c, g / (g - h)))\r\n : 0 > h && (d = Math.min(d, g / (g - h)));\r\n if (d < c) return !1;\r\n a.lerp(b, c);\r\n b.lerp(a, 1 - d);\r\n return !0;\r\n }\r\n var e,\r\n f,\r\n g = [],\r\n h = 0,\r\n i,\r\n k,\r\n l = [],\r\n m = 0,\r\n n,\r\n s,\r\n r = [],\r\n p = 0,\r\n q,\r\n y = [],\r\n v = 0,\r\n z,\r\n t,\r\n A = [],\r\n I = 0,\r\n C,\r\n x,\r\n G = [],\r\n J = 0,\r\n E = { objects: [], sprites: [], lights: [], elements: [] },\r\n H = new THREE.Vector3(),\r\n B = new THREE.Vector4(),\r\n W = new THREE.Box3(\r\n new THREE.Vector3(-1, -1, -1),\r\n new THREE.Vector3(1, 1, 1)\r\n ),\r\n F = new THREE.Box3(),\r\n K = Array(3),\r\n L = Array(4),\r\n U = new THREE.Matrix4(),\r\n fa = new THREE.Matrix4(),\r\n Ca,\r\n $a = new THREE.Matrix4(),\r\n M = new THREE.Matrix3(),\r\n ca = new THREE.Matrix3(),\r\n qa = new THREE.Vector3(),\r\n ha = new THREE.Frustum(),\r\n ra = new THREE.Vector4(),\r\n N = new THREE.Vector4();\r\n this.projectVector = function(a, b) {\r\n b.matrixWorldInverse.getInverse(b.matrixWorld);\r\n fa.multiplyMatrices(b.projectionMatrix, b.matrixWorldInverse);\r\n return a.applyProjection(fa);\r\n };\r\n this.unprojectVector = function(a, b) {\r\n b.projectionMatrixInverse.getInverse(b.projectionMatrix);\r\n fa.multiplyMatrices(b.matrixWorld, b.projectionMatrixInverse);\r\n return a.applyProjection(fa);\r\n };\r\n this.pickingRay = function(a, b) {\r\n a.z = -1;\r\n var c = new THREE.Vector3(a.x, a.y, 1);\r\n this.unprojectVector(a, b);\r\n this.unprojectVector(c, b);\r\n c.sub(a).normalize();\r\n return new THREE.Raycaster(a, c);\r\n };\r\n this.projectScene = function(g, h, m, Pa) {\r\n var ta = !1,\r\n ka,\r\n aa,\r\n pa,\r\n Y,\r\n da,\r\n la,\r\n Z,\r\n oa,\r\n gb,\r\n nb,\r\n ia,\r\n Wa,\r\n ab;\r\n x = t = q = s = 0;\r\n E.elements.length = 0;\r\n g.updateMatrixWorld();\r\n void 0 === h.parent && h.updateMatrixWorld();\r\n U.copy(h.matrixWorldInverse.getInverse(h.matrixWorld));\r\n fa.multiplyMatrices(h.projectionMatrix, U);\r\n ca.getInverse(U);\r\n ca.transpose();\r\n ha.setFromMatrix(fa);\r\n f = 0;\r\n E.objects.length = 0;\r\n E.sprites.length = 0;\r\n E.lights.length = 0;\r\n var Fa = function(b) {\r\n for (var c = 0, d = b.children.length; c < d; c++) {\r\n var f = b.children[c];\r\n if (!1 !== f.visible) {\r\n if (f instanceof THREE.Light) E.lights.push(f);\r\n else if (f instanceof THREE.Mesh || f instanceof THREE.Line) {\r\n if (!1 === f.frustumCulled || !0 === ha.intersectsObject(f))\r\n (e = a()),\r\n (e.object = f),\r\n null !== f.renderDepth\r\n ? (e.z = f.renderDepth)\r\n : (H.getPositionFromMatrix(f.matrixWorld),\r\n H.applyProjection(fa),\r\n (e.z = H.z)),\r\n E.objects.push(e);\r\n } else\r\n f instanceof THREE.Sprite || f instanceof THREE.Particle\r\n ? ((e = a()),\r\n (e.object = f),\r\n null !== f.renderDepth\r\n ? (e.z = f.renderDepth)\r\n : (H.getPositionFromMatrix(f.matrixWorld),\r\n H.applyProjection(fa),\r\n (e.z = H.z)),\r\n E.sprites.push(e))\r\n : ((e = a()),\r\n (e.object = f),\r\n null !== f.renderDepth\r\n ? (e.z = f.renderDepth)\r\n : (H.getPositionFromMatrix(f.matrixWorld),\r\n H.applyProjection(fa),\r\n (e.z = H.z)),\r\n E.objects.push(e));\r\n Fa(f);\r\n }\r\n }\r\n };\r\n Fa(g);\r\n !0 === m && E.objects.sort(c);\r\n g = 0;\r\n for (m = E.objects.length; g < m; g++)\r\n if (\r\n ((oa = E.objects[g].object),\r\n (Ca = oa.matrixWorld),\r\n (k = 0),\r\n oa instanceof THREE.Mesh)\r\n ) {\r\n gb = oa.geometry;\r\n pa = gb.vertices;\r\n nb = gb.faces;\r\n gb = gb.faceVertexUvs;\r\n M.getInverse(Ca);\r\n M.transpose();\r\n Wa = oa.material instanceof THREE.MeshFaceMaterial;\r\n ab = !0 === Wa ? oa.material : null;\r\n ka = 0;\r\n for (aa = pa.length; ka < aa; ka++)\r\n (i = b()),\r\n i.positionWorld.copy(pa[ka]).applyMatrix4(Ca),\r\n i.positionScreen.copy(i.positionWorld).applyMatrix4(fa),\r\n (i.positionScreen.x /= i.positionScreen.w),\r\n (i.positionScreen.y /= i.positionScreen.w),\r\n (i.positionScreen.z /= i.positionScreen.w),\r\n (i.visible = !(\r\n -1 > i.positionScreen.x ||\r\n 1 < i.positionScreen.x ||\r\n -1 > i.positionScreen.y ||\r\n 1 < i.positionScreen.y ||\r\n -1 > i.positionScreen.z ||\r\n 1 < i.positionScreen.z\r\n ));\r\n pa = 0;\r\n for (ka = nb.length; pa < ka; pa++) {\r\n aa = nb[pa];\r\n var Xa = !0 === Wa ? ab.materials[aa.materialIndex] : oa.material;\r\n if (void 0 !== Xa) {\r\n la = Xa.side;\r\n if (aa instanceof THREE.Face3)\r\n if (\r\n ((Y = l[aa.a]),\r\n (da = l[aa.b]),\r\n (Z = l[aa.c]),\r\n (K[0] = Y.positionScreen),\r\n (K[1] = da.positionScreen),\r\n (K[2] = Z.positionScreen),\r\n !0 === Y.visible ||\r\n !0 === da.visible ||\r\n !0 === Z.visible ||\r\n W.isIntersectionBox(F.setFromPoints(K)))\r\n )\r\n if (\r\n ((ta =\r\n 0 >\r\n (Z.positionScreen.x - Y.positionScreen.x) *\r\n (da.positionScreen.y - Y.positionScreen.y) -\r\n (Z.positionScreen.y - Y.positionScreen.y) *\r\n (da.positionScreen.x - Y.positionScreen.x)),\r\n la === THREE.DoubleSide || ta === (la === THREE.FrontSide))\r\n )\r\n s === p\r\n ? ((ia = new THREE.RenderableFace3()),\r\n r.push(ia),\r\n p++,\r\n s++,\r\n (n = ia))\r\n : (n = r[s++]),\r\n n.v1.copy(Y),\r\n n.v2.copy(da),\r\n n.v3.copy(Z);\r\n else continue;\r\n else continue;\r\n else if (aa instanceof THREE.Face4)\r\n if (\r\n ((Y = l[aa.a]),\r\n (da = l[aa.b]),\r\n (Z = l[aa.c]),\r\n (ia = l[aa.d]),\r\n (L[0] = Y.positionScreen),\r\n (L[1] = da.positionScreen),\r\n (L[2] = Z.positionScreen),\r\n (L[3] = ia.positionScreen),\r\n !0 === Y.visible ||\r\n !0 === da.visible ||\r\n !0 === Z.visible ||\r\n !0 === ia.visible ||\r\n W.isIntersectionBox(F.setFromPoints(L)))\r\n )\r\n if (\r\n ((ta =\r\n 0 >\r\n (ia.positionScreen.x - Y.positionScreen.x) *\r\n (da.positionScreen.y - Y.positionScreen.y) -\r\n (ia.positionScreen.y - Y.positionScreen.y) *\r\n (da.positionScreen.x - Y.positionScreen.x) ||\r\n 0 >\r\n (da.positionScreen.x - Z.positionScreen.x) *\r\n (ia.positionScreen.y - Z.positionScreen.y) -\r\n (da.positionScreen.y - Z.positionScreen.y) *\r\n (ia.positionScreen.x - Z.positionScreen.x)),\r\n la === THREE.DoubleSide || ta === (la === THREE.FrontSide))\r\n ) {\r\n if (q === v) {\r\n var ub = new THREE.RenderableFace4();\r\n y.push(ub);\r\n v++;\r\n q++;\r\n n = ub;\r\n } else n = y[q++];\r\n n.v1.copy(Y);\r\n n.v2.copy(da);\r\n n.v3.copy(Z);\r\n n.v4.copy(ia);\r\n } else continue;\r\n else continue;\r\n n.normalModel.copy(aa.normal);\r\n !1 === ta &&\r\n (la === THREE.BackSide || la === THREE.DoubleSide) &&\r\n n.normalModel.negate();\r\n n.normalModel.applyMatrix3(M).normalize();\r\n n.normalModelView.copy(n.normalModel).applyMatrix3(ca);\r\n n.centroidModel.copy(aa.centroid).applyMatrix4(Ca);\r\n Z = aa.vertexNormals;\r\n Y = 0;\r\n for (da = Z.length; Y < da; Y++)\r\n (ia = n.vertexNormalsModel[Y]),\r\n ia.copy(Z[Y]),\r\n !1 === ta &&\r\n (la === THREE.BackSide || la === THREE.DoubleSide) &&\r\n ia.negate(),\r\n ia.applyMatrix3(M).normalize(),\r\n n.vertexNormalsModelView[Y].copy(ia).applyMatrix3(ca);\r\n n.vertexNormalsLength = Z.length;\r\n Y = 0;\r\n for (da = gb.length; Y < da; Y++)\r\n if (((ia = gb[Y][pa]), void 0 !== ia)) {\r\n la = 0;\r\n for (Z = ia.length; la < Z; la++) n.uvs[Y][la] = ia[la];\r\n }\r\n n.color = aa.color;\r\n n.material = Xa;\r\n qa.copy(n.centroidModel).applyProjection(fa);\r\n n.z = qa.z;\r\n E.elements.push(n);\r\n }\r\n }\r\n } else if (oa instanceof THREE.Line) {\r\n $a.multiplyMatrices(fa, Ca);\r\n pa = oa.geometry.vertices;\r\n Y = b();\r\n Y.positionScreen.copy(pa[0]).applyMatrix4($a);\r\n nb = oa.type === THREE.LinePieces ? 2 : 1;\r\n ka = 1;\r\n for (aa = pa.length; ka < aa; ka++)\r\n (Y = b()),\r\n Y.positionScreen.copy(pa[ka]).applyMatrix4($a),\r\n 0 < (ka + 1) % nb ||\r\n ((da = l[k - 2]),\r\n ra.copy(Y.positionScreen),\r\n N.copy(da.positionScreen),\r\n !0 === d(ra, N) &&\r\n (ra.multiplyScalar(1 / ra.w),\r\n N.multiplyScalar(1 / N.w),\r\n t === I\r\n ? ((gb = new THREE.RenderableLine()),\r\n A.push(gb),\r\n I++,\r\n t++,\r\n (z = gb))\r\n : (z = A[t++]),\r\n z.v1.positionScreen.copy(ra),\r\n z.v2.positionScreen.copy(N),\r\n (z.z = Math.max(ra.z, N.z)),\r\n (z.material = oa.material),\r\n E.elements.push(z)));\r\n }\r\n g = 0;\r\n for (m = E.sprites.length; g < m; g++)\r\n (oa = E.sprites[g].object),\r\n (Ca = oa.matrixWorld),\r\n oa instanceof THREE.Particle &&\r\n (B.set(Ca.elements[12], Ca.elements[13], Ca.elements[14], 1),\r\n B.applyMatrix4(fa),\r\n (B.z /= B.w),\r\n 0 < B.z &&\r\n 1 > B.z &&\r\n (x === J\r\n ? ((ta = new THREE.RenderableParticle()),\r\n G.push(ta),\r\n J++,\r\n x++,\r\n (C = ta))\r\n : (C = G[x++]),\r\n (C.object = oa),\r\n (C.x = B.x / B.w),\r\n (C.y = B.y / B.w),\r\n (C.z = B.z),\r\n (C.rotation = oa.rotation.z),\r\n (C.scale.x =\r\n oa.scale.x *\r\n Math.abs(\r\n C.x -\r\n (B.x + h.projectionMatrix.elements[0]) /\r\n (B.w + h.projectionMatrix.elements[12])\r\n )),\r\n (C.scale.y =\r\n oa.scale.y *\r\n Math.abs(\r\n C.y -\r\n (B.y + h.projectionMatrix.elements[5]) /\r\n (B.w + h.projectionMatrix.elements[13])\r\n )),\r\n (C.material = oa.material),\r\n E.elements.push(C)));\r\n !0 === Pa && E.elements.sort(c);\r\n return E;\r\n };\r\n};\r\nTHREE.Face3 = function(a, b, c, d, e, f) {\r\n this.a = a;\r\n this.b = b;\r\n this.c = c;\r\n this.normal = d instanceof THREE.Vector3 ? d : new THREE.Vector3();\r\n this.vertexNormals = d instanceof Array ? d : [];\r\n this.color = e instanceof THREE.Color ? e : new THREE.Color();\r\n this.vertexColors = e instanceof Array ? e : [];\r\n this.vertexTangents = [];\r\n this.materialIndex = void 0 !== f ? f : 0;\r\n this.centroid = new THREE.Vector3();\r\n};\r\nTHREE.Face3.prototype = {\r\n constructor: THREE.Face3,\r\n clone: function() {\r\n var a = new THREE.Face3(this.a, this.b, this.c);\r\n a.normal.copy(this.normal);\r\n a.color.copy(this.color);\r\n a.centroid.copy(this.centroid);\r\n a.materialIndex = this.materialIndex;\r\n var b, c;\r\n b = 0;\r\n for (c = this.vertexNormals.length; b < c; b++)\r\n a.vertexNormals[b] = this.vertexNormals[b].clone();\r\n b = 0;\r\n for (c = this.vertexColors.length; b < c; b++)\r\n a.vertexColors[b] = this.vertexColors[b].clone();\r\n b = 0;\r\n for (c = this.vertexTangents.length; b < c; b++)\r\n a.vertexTangents[b] = this.vertexTangents[b].clone();\r\n return a;\r\n }\r\n};\r\nTHREE.Face4 = function(a, b, c, d, e, f, g) {\r\n this.a = a;\r\n this.b = b;\r\n this.c = c;\r\n this.d = d;\r\n this.normal = e instanceof THREE.Vector3 ? e : new THREE.Vector3();\r\n this.vertexNormals = e instanceof Array ? e : [];\r\n this.color = f instanceof THREE.Color ? f : new THREE.Color();\r\n this.vertexColors = f instanceof Array ? f : [];\r\n this.vertexTangents = [];\r\n this.materialIndex = void 0 !== g ? g : 0;\r\n this.centroid = new THREE.Vector3();\r\n};\r\nTHREE.Face4.prototype = {\r\n constructor: THREE.Face4,\r\n clone: function() {\r\n var a = new THREE.Face4(this.a, this.b, this.c, this.d);\r\n a.normal.copy(this.normal);\r\n a.color.copy(this.color);\r\n a.centroid.copy(this.centroid);\r\n a.materialIndex = this.materialIndex;\r\n var b, c;\r\n b = 0;\r\n for (c = this.vertexNormals.length; b < c; b++)\r\n a.vertexNormals[b] = this.vertexNormals[b].clone();\r\n b = 0;\r\n for (c = this.vertexColors.length; b < c; b++)\r\n a.vertexColors[b] = this.vertexColors[b].clone();\r\n b = 0;\r\n for (c = this.vertexTangents.length; b < c; b++)\r\n a.vertexTangents[b] = this.vertexTangents[b].clone();\r\n return a;\r\n }\r\n};\r\nTHREE.Geometry = function() {\r\n THREE.EventDispatcher.call(this);\r\n this.id = THREE.GeometryIdCount++;\r\n this.name = \"\";\r\n this.vertices = [];\r\n this.colors = [];\r\n this.normals = [];\r\n this.faces = [];\r\n this.faceUvs = [[]];\r\n this.faceVertexUvs = [[]];\r\n this.morphTargets = [];\r\n this.morphColors = [];\r\n this.morphNormals = [];\r\n this.skinWeights = [];\r\n this.skinIndices = [];\r\n this.lineDistances = [];\r\n this.boundingSphere = this.boundingBox = null;\r\n this.hasTangents = !1;\r\n this.dynamic = !0;\r\n this.buffersNeedUpdate = this.lineDistancesNeedUpdate = this.colorsNeedUpdate = this.tangentsNeedUpdate = this.normalsNeedUpdate = this.uvsNeedUpdate = this.elementsNeedUpdate = this.verticesNeedUpdate = !1;\r\n};\r\nTHREE.Geometry.prototype = {\r\n constructor: THREE.Geometry,\r\n applyMatrix: function(a) {\r\n for (\r\n var b = new THREE.Matrix3().getInverse(a).transpose(),\r\n c = 0,\r\n d = this.vertices.length;\r\n c < d;\r\n c++\r\n )\r\n this.vertices[c].applyMatrix4(a);\r\n c = 0;\r\n for (d = this.faces.length; c < d; c++) {\r\n var e = this.faces[c];\r\n e.normal.applyMatrix3(b).normalize();\r\n for (var f = 0, g = e.vertexNormals.length; f < g; f++)\r\n e.vertexNormals[f].applyMatrix3(b).normalize();\r\n e.centroid.applyMatrix4(a);\r\n }\r\n },\r\n computeCentroids: function() {\r\n var a, b, c;\r\n a = 0;\r\n for (b = this.faces.length; a < b; a++)\r\n (c = this.faces[a]),\r\n c.centroid.set(0, 0, 0),\r\n c instanceof THREE.Face3\r\n ? (c.centroid.add(this.vertices[c.a]),\r\n c.centroid.add(this.vertices[c.b]),\r\n c.centroid.add(this.vertices[c.c]),\r\n c.centroid.divideScalar(3))\r\n : c instanceof THREE.Face4 &&\r\n (c.centroid.add(this.vertices[c.a]),\r\n c.centroid.add(this.vertices[c.b]),\r\n c.centroid.add(this.vertices[c.c]),\r\n c.centroid.add(this.vertices[c.d]),\r\n c.centroid.divideScalar(4));\r\n },\r\n computeFaceNormals: function() {\r\n for (\r\n var a = new THREE.Vector3(),\r\n b = new THREE.Vector3(),\r\n c = 0,\r\n d = this.faces.length;\r\n c < d;\r\n c++\r\n ) {\r\n var e = this.faces[c],\r\n f = this.vertices[e.a],\r\n g = this.vertices[e.b];\r\n a.subVectors(this.vertices[e.c], g);\r\n b.subVectors(f, g);\r\n a.cross(b);\r\n a.normalize();\r\n e.normal.copy(a);\r\n }\r\n },\r\n computeVertexNormals: function(a) {\r\n var b, c, d, e;\r\n if (void 0 === this.__tmpVertices) {\r\n e = this.__tmpVertices = Array(this.vertices.length);\r\n b = 0;\r\n for (c = this.vertices.length; b < c; b++) e[b] = new THREE.Vector3();\r\n b = 0;\r\n for (c = this.faces.length; b < c; b++)\r\n (d = this.faces[b]),\r\n d instanceof THREE.Face3\r\n ? (d.vertexNormals = [\r\n new THREE.Vector3(),\r\n new THREE.Vector3(),\r\n new THREE.Vector3()\r\n ])\r\n : d instanceof THREE.Face4 &&\r\n (d.vertexNormals = [\r\n new THREE.Vector3(),\r\n new THREE.Vector3(),\r\n new THREE.Vector3(),\r\n new THREE.Vector3()\r\n ]);\r\n } else {\r\n e = this.__tmpVertices;\r\n b = 0;\r\n for (c = this.vertices.length; b < c; b++) e[b].set(0, 0, 0);\r\n }\r\n if (a) {\r\n var f,\r\n g,\r\n h,\r\n i = new THREE.Vector3(),\r\n k = new THREE.Vector3(),\r\n l = new THREE.Vector3(),\r\n m = new THREE.Vector3(),\r\n n = new THREE.Vector3();\r\n b = 0;\r\n for (c = this.faces.length; b < c; b++)\r\n (d = this.faces[b]),\r\n d instanceof THREE.Face3\r\n ? ((a = this.vertices[d.a]),\r\n (f = this.vertices[d.b]),\r\n (g = this.vertices[d.c]),\r\n i.subVectors(g, f),\r\n k.subVectors(a, f),\r\n i.cross(k),\r\n e[d.a].add(i),\r\n e[d.b].add(i),\r\n e[d.c].add(i))\r\n : d instanceof THREE.Face4 &&\r\n ((a = this.vertices[d.a]),\r\n (f = this.vertices[d.b]),\r\n (g = this.vertices[d.c]),\r\n (h = this.vertices[d.d]),\r\n l.subVectors(h, f),\r\n k.subVectors(a, f),\r\n l.cross(k),\r\n e[d.a].add(l),\r\n e[d.b].add(l),\r\n e[d.d].add(l),\r\n m.subVectors(h, g),\r\n n.subVectors(f, g),\r\n m.cross(n),\r\n e[d.b].add(m),\r\n e[d.c].add(m),\r\n e[d.d].add(m));\r\n } else {\r\n b = 0;\r\n for (c = this.faces.length; b < c; b++)\r\n (d = this.faces[b]),\r\n d instanceof THREE.Face3\r\n ? (e[d.a].add(d.normal), e[d.b].add(d.normal), e[d.c].add(d.normal))\r\n : d instanceof THREE.Face4 &&\r\n (e[d.a].add(d.normal),\r\n e[d.b].add(d.normal),\r\n e[d.c].add(d.normal),\r\n e[d.d].add(d.normal));\r\n }\r\n b = 0;\r\n for (c = this.vertices.length; b < c; b++) e[b].normalize();\r\n b = 0;\r\n for (c = this.faces.length; b < c; b++)\r\n (d = this.faces[b]),\r\n d instanceof THREE.Face3\r\n ? (d.vertexNormals[0].copy(e[d.a]),\r\n d.vertexNormals[1].copy(e[d.b]),\r\n d.vertexNormals[2].copy(e[d.c]))\r\n : d instanceof THREE.Face4 &&\r\n (d.vertexNormals[0].copy(e[d.a]),\r\n d.vertexNormals[1].copy(e[d.b]),\r\n d.vertexNormals[2].copy(e[d.c]),\r\n d.vertexNormals[3].copy(e[d.d]));\r\n },\r\n computeMorphNormals: function() {\r\n var a, b, c, d, e;\r\n c = 0;\r\n for (d = this.faces.length; c < d; c++) {\r\n e = this.faces[c];\r\n e.__originalFaceNormal\r\n ? e.__originalFaceNormal.copy(e.normal)\r\n : (e.__originalFaceNormal = e.normal.clone());\r\n e.__originalVertexNormals || (e.__originalVertexNormals = []);\r\n a = 0;\r\n for (b = e.vertexNormals.length; a < b; a++)\r\n e.__originalVertexNormals[a]\r\n ? e.__originalVertexNormals[a].copy(e.vertexNormals[a])\r\n : (e.__originalVertexNormals[a] = e.vertexNormals[a].clone());\r\n }\r\n var f = new THREE.Geometry();\r\n f.faces = this.faces;\r\n a = 0;\r\n for (b = this.morphTargets.length; a < b; a++) {\r\n if (!this.morphNormals[a]) {\r\n this.morphNormals[a] = {};\r\n this.morphNormals[a].faceNormals = [];\r\n this.morphNormals[a].vertexNormals = [];\r\n var g = this.morphNormals[a].faceNormals,\r\n h = this.morphNormals[a].vertexNormals,\r\n i,\r\n k;\r\n c = 0;\r\n for (d = this.faces.length; c < d; c++)\r\n (e = this.faces[c]),\r\n (i = new THREE.Vector3()),\r\n (k =\r\n e instanceof THREE.Face3\r\n ? {\r\n a: new THREE.Vector3(),\r\n b: new THREE.Vector3(),\r\n c: new THREE.Vector3()\r\n }\r\n : {\r\n a: new THREE.Vector3(),\r\n b: new THREE.Vector3(),\r\n c: new THREE.Vector3(),\r\n d: new THREE.Vector3()\r\n }),\r\n g.push(i),\r\n h.push(k);\r\n }\r\n g = this.morphNormals[a];\r\n f.vertices = this.morphTargets[a].vertices;\r\n f.computeFaceNormals();\r\n f.computeVertexNormals();\r\n c = 0;\r\n for (d = this.faces.length; c < d; c++)\r\n (e = this.faces[c]),\r\n (i = g.faceNormals[c]),\r\n (k = g.vertexNormals[c]),\r\n i.copy(e.normal),\r\n e instanceof THREE.Face3\r\n ? (k.a.copy(e.vertexNormals[0]),\r\n k.b.copy(e.vertexNormals[1]),\r\n k.c.copy(e.vertexNormals[2]))\r\n : (k.a.copy(e.vertexNormals[0]),\r\n k.b.copy(e.vertexNormals[1]),\r\n k.c.copy(e.vertexNormals[2]),\r\n k.d.copy(e.vertexNormals[3]));\r\n }\r\n c = 0;\r\n for (d = this.faces.length; c < d; c++)\r\n (e = this.faces[c]),\r\n (e.normal = e.__originalFaceNormal),\r\n (e.vertexNormals = e.__originalVertexNormals);\r\n },\r\n computeTangents: function() {\r\n function a(a, b, c, d, e, f, x) {\r\n h = a.vertices[b];\r\n i = a.vertices[c];\r\n k = a.vertices[d];\r\n l = g[e];\r\n m = g[f];\r\n n = g[x];\r\n s = i.x - h.x;\r\n r = k.x - h.x;\r\n p = i.y - h.y;\r\n q = k.y - h.y;\r\n y = i.z - h.z;\r\n v = k.z - h.z;\r\n z = m.x - l.x;\r\n t = n.x - l.x;\r\n A = m.y - l.y;\r\n I = n.y - l.y;\r\n C = 1 / (z * I - t * A);\r\n E.set((I * s - A * r) * C, (I * p - A * q) * C, (I * y - A * v) * C);\r\n H.set((z * r - t * s) * C, (z * q - t * p) * C, (z * v - t * y) * C);\r\n G[b].add(E);\r\n G[c].add(E);\r\n G[d].add(E);\r\n J[b].add(H);\r\n J[c].add(H);\r\n J[d].add(H);\r\n }\r\n var b,\r\n c,\r\n d,\r\n e,\r\n f,\r\n g,\r\n h,\r\n i,\r\n k,\r\n l,\r\n m,\r\n n,\r\n s,\r\n r,\r\n p,\r\n q,\r\n y,\r\n v,\r\n z,\r\n t,\r\n A,\r\n I,\r\n C,\r\n x,\r\n G = [],\r\n J = [],\r\n E = new THREE.Vector3(),\r\n H = new THREE.Vector3(),\r\n B = new THREE.Vector3(),\r\n W = new THREE.Vector3(),\r\n F = new THREE.Vector3();\r\n b = 0;\r\n for (c = this.vertices.length; b < c; b++)\r\n (G[b] = new THREE.Vector3()), (J[b] = new THREE.Vector3());\r\n b = 0;\r\n for (c = this.faces.length; b < c; b++)\r\n (f = this.faces[b]),\r\n (g = this.faceVertexUvs[0][b]),\r\n f instanceof THREE.Face3\r\n ? a(this, f.a, f.b, f.c, 0, 1, 2)\r\n : f instanceof THREE.Face4 &&\r\n (a(this, f.a, f.b, f.d, 0, 1, 3), a(this, f.b, f.c, f.d, 1, 2, 3));\r\n var K = [\"a\", \"b\", \"c\", \"d\"];\r\n b = 0;\r\n for (c = this.faces.length; b < c; b++) {\r\n f = this.faces[b];\r\n for (d = 0; d < f.vertexNormals.length; d++)\r\n F.copy(f.vertexNormals[d]),\r\n (e = f[K[d]]),\r\n (x = G[e]),\r\n B.copy(x),\r\n B.sub(F.multiplyScalar(F.dot(x))).normalize(),\r\n W.crossVectors(f.vertexNormals[d], x),\r\n (e = W.dot(J[e])),\r\n (e = 0 > e ? -1 : 1),\r\n (f.vertexTangents[d] = new THREE.Vector4(B.x, B.y, B.z, e));\r\n }\r\n this.hasTangents = !0;\r\n },\r\n computeLineDistances: function() {\r\n for (var a = 0, b = this.vertices, c = 0, d = b.length; c < d; c++)\r\n 0 < c && (a += b[c].distanceTo(b[c - 1])), (this.lineDistances[c] = a);\r\n },\r\n computeBoundingBox: function() {\r\n null === this.boundingBox && (this.boundingBox = new THREE.Box3());\r\n this.boundingBox.setFromPoints(this.vertices);\r\n },\r\n computeBoundingSphere: function() {\r\n null === this.boundingSphere && (this.boundingSphere = new THREE.Sphere());\r\n this.boundingSphere.setFromCenterAndPoints(\r\n this.boundingSphere.center,\r\n this.vertices\r\n );\r\n },\r\n mergeVertices: function() {\r\n var a = {},\r\n b = [],\r\n c = [],\r\n d,\r\n e = Math.pow(10, 4),\r\n f,\r\n g,\r\n h,\r\n i,\r\n k;\r\n this.__tmpVertices = void 0;\r\n f = 0;\r\n for (g = this.vertices.length; f < g; f++)\r\n (d = this.vertices[f]),\r\n (d = [\r\n Math.round(d.x * e),\r\n Math.round(d.y * e),\r\n Math.round(d.z * e)\r\n ].join(\"_\")),\r\n void 0 === a[d]\r\n ? ((a[d] = f), b.push(this.vertices[f]), (c[f] = b.length - 1))\r\n : (c[f] = c[a[d]]);\r\n e = [];\r\n f = 0;\r\n for (g = this.faces.length; f < g; f++)\r\n if (((a = this.faces[f]), a instanceof THREE.Face3)) {\r\n a.a = c[a.a];\r\n a.b = c[a.b];\r\n a.c = c[a.c];\r\n h = [a.a, a.b, a.c];\r\n d = -1;\r\n for (i = 0; 3 > i; i++)\r\n if (h[i] == h[(i + 1) % 3]) {\r\n e.push(f);\r\n break;\r\n }\r\n } else if (a instanceof THREE.Face4) {\r\n a.a = c[a.a];\r\n a.b = c[a.b];\r\n a.c = c[a.c];\r\n a.d = c[a.d];\r\n h = [a.a, a.b, a.c, a.d];\r\n d = -1;\r\n for (i = 0; 4 > i; i++)\r\n h[i] == h[(i + 1) % 4] && (0 <= d && e.push(f), (d = i));\r\n if (0 <= d) {\r\n h.splice(d, 1);\r\n var l = new THREE.Face3(\r\n h[0],\r\n h[1],\r\n h[2],\r\n a.normal,\r\n a.color,\r\n a.materialIndex\r\n );\r\n h = 0;\r\n for (i = this.faceVertexUvs.length; h < i; h++)\r\n (k = this.faceVertexUvs[h][f]) && k.splice(d, 1);\r\n a.vertexNormals &&\r\n 0 < a.vertexNormals.length &&\r\n ((l.vertexNormals = a.vertexNormals), l.vertexNormals.splice(d, 1));\r\n a.vertexColors &&\r\n 0 < a.vertexColors.length &&\r\n ((l.vertexColors = a.vertexColors), l.vertexColors.splice(d, 1));\r\n this.faces[f] = l;\r\n }\r\n }\r\n for (f = e.length - 1; 0 <= f; f--) {\r\n this.faces.splice(f, 1);\r\n h = 0;\r\n for (i = this.faceVertexUvs.length; h < i; h++)\r\n this.faceVertexUvs[h].splice(f, 1);\r\n }\r\n c = this.vertices.length - b.length;\r\n this.vertices = b;\r\n return c;\r\n },\r\n clone: function() {\r\n for (\r\n var a = new THREE.Geometry(), b = this.vertices, c = 0, d = b.length;\r\n c < d;\r\n c++\r\n )\r\n a.vertices.push(b[c].clone());\r\n b = this.faces;\r\n c = 0;\r\n for (d = b.length; c < d; c++) a.faces.push(b[c].clone());\r\n b = this.faceVertexUvs[0];\r\n c = 0;\r\n for (d = b.length; c < d; c++) {\r\n for (var e = b[c], f = [], g = 0, h = e.length; g < h; g++)\r\n f.push(new THREE.Vector2(e[g].x, e[g].y));\r\n a.faceVertexUvs[0].push(f);\r\n }\r\n return a;\r\n },\r\n dispose: function() {\r\n this.dispatchEvent({ type: \"dispose\" });\r\n }\r\n};\r\nTHREE.GeometryIdCount = 0;\r\nTHREE.BufferGeometry = function() {\r\n THREE.EventDispatcher.call(this);\r\n this.id = THREE.GeometryIdCount++;\r\n this.attributes = {};\r\n this.dynamic = !1;\r\n this.offsets = [];\r\n this.boundingSphere = this.boundingBox = null;\r\n this.hasTangents = !1;\r\n this.morphTargets = [];\r\n};\r\nTHREE.BufferGeometry.prototype = {\r\n constructor: THREE.BufferGeometry,\r\n applyMatrix: function(a) {\r\n var b, c;\r\n this.attributes.position && (b = this.attributes.position.array);\r\n this.attributes.normal && (c = this.attributes.normal.array);\r\n void 0 !== b && (a.multiplyVector3Array(b), (this.verticesNeedUpdate = !0));\r\n void 0 !== c &&\r\n ((b = new THREE.Matrix3()),\r\n b.getInverse(a).transpose(),\r\n b.multiplyVector3Array(c),\r\n this.normalizeNormals(),\r\n (this.normalsNeedUpdate = !0));\r\n },\r\n computeBoundingBox: function() {\r\n null === this.boundingBox && (this.boundingBox = new THREE.Box3());\r\n var a = this.attributes.position.array;\r\n if (a) {\r\n var b = this.boundingBox,\r\n c,\r\n d,\r\n e;\r\n 3 <= a.length &&\r\n ((b.min.x = b.max.x = a[0]),\r\n (b.min.y = b.max.y = a[1]),\r\n (b.min.z = b.max.z = a[2]));\r\n for (var f = 3, g = a.length; f < g; f += 3)\r\n (c = a[f]),\r\n (d = a[f + 1]),\r\n (e = a[f + 2]),\r\n c < b.min.x ? (b.min.x = c) : c > b.max.x && (b.max.x = c),\r\n d < b.min.y ? (b.min.y = d) : d > b.max.y && (b.max.y = d),\r\n e < b.min.z ? (b.min.z = e) : e > b.max.z && (b.max.z = e);\r\n }\r\n if (void 0 === a || 0 === a.length)\r\n this.boundingBox.min.set(0, 0, 0), this.boundingBox.max.set(0, 0, 0);\r\n },\r\n computeBoundingSphere: function() {\r\n null === this.boundingSphere && (this.boundingSphere = new THREE.Sphere());\r\n var a = this.attributes.position.array;\r\n if (a) {\r\n for (var b, c = 0, d, e, f = 0, g = a.length; f < g; f += 3)\r\n (b = a[f]),\r\n (d = a[f + 1]),\r\n (e = a[f + 2]),\r\n (b = b * b + d * d + e * e),\r\n b > c && (c = b);\r\n this.boundingSphere.radius = Math.sqrt(c);\r\n }\r\n },\r\n computeVertexNormals: function() {\r\n if (this.attributes.position) {\r\n var a, b, c, d;\r\n a = this.attributes.position.array.length;\r\n if (void 0 === this.attributes.normal)\r\n this.attributes.normal = {\r\n itemSize: 3,\r\n array: new Float32Array(a),\r\n numItems: a\r\n };\r\n else {\r\n a = 0;\r\n for (b = this.attributes.normal.array.length; a < b; a++)\r\n this.attributes.normal.array[a] = 0;\r\n }\r\n var e = this.attributes.position.array,\r\n f = this.attributes.normal.array,\r\n g,\r\n h,\r\n i,\r\n k,\r\n l,\r\n m,\r\n n = new THREE.Vector3(),\r\n s = new THREE.Vector3(),\r\n r = new THREE.Vector3(),\r\n p = new THREE.Vector3(),\r\n q = new THREE.Vector3();\r\n if (this.attributes.index) {\r\n var y = this.attributes.index.array,\r\n v = this.offsets;\r\n c = 0;\r\n for (d = v.length; c < d; ++c) {\r\n b = v[c].start;\r\n g = v[c].count;\r\n var z = v[c].index;\r\n a = b;\r\n for (b += g; a < b; a += 3)\r\n (g = z + y[a]),\r\n (h = z + y[a + 1]),\r\n (i = z + y[a + 2]),\r\n (k = e[3 * g]),\r\n (l = e[3 * g + 1]),\r\n (m = e[3 * g + 2]),\r\n n.set(k, l, m),\r\n (k = e[3 * h]),\r\n (l = e[3 * h + 1]),\r\n (m = e[3 * h + 2]),\r\n s.set(k, l, m),\r\n (k = e[3 * i]),\r\n (l = e[3 * i + 1]),\r\n (m = e[3 * i + 2]),\r\n r.set(k, l, m),\r\n p.subVectors(r, s),\r\n q.subVectors(n, s),\r\n p.cross(q),\r\n (f[3 * g] += p.x),\r\n (f[3 * g + 1] += p.y),\r\n (f[3 * g + 2] += p.z),\r\n (f[3 * h] += p.x),\r\n (f[3 * h + 1] += p.y),\r\n (f[3 * h + 2] += p.z),\r\n (f[3 * i] += p.x),\r\n (f[3 * i + 1] += p.y),\r\n (f[3 * i + 2] += p.z);\r\n }\r\n } else {\r\n a = 0;\r\n for (b = e.length; a < b; a += 9)\r\n (k = e[a]),\r\n (l = e[a + 1]),\r\n (m = e[a + 2]),\r\n n.set(k, l, m),\r\n (k = e[a + 3]),\r\n (l = e[a + 4]),\r\n (m = e[a + 5]),\r\n s.set(k, l, m),\r\n (k = e[a + 6]),\r\n (l = e[a + 7]),\r\n (m = e[a + 8]),\r\n r.set(k, l, m),\r\n p.subVectors(r, s),\r\n q.subVectors(n, s),\r\n p.cross(q),\r\n (f[a] = p.x),\r\n (f[a + 1] = p.y),\r\n (f[a + 2] = p.z),\r\n (f[a + 3] = p.x),\r\n (f[a + 4] = p.y),\r\n (f[a + 5] = p.z),\r\n (f[a + 6] = p.x),\r\n (f[a + 7] = p.y),\r\n (f[a + 8] = p.z);\r\n }\r\n this.normalizeNormals();\r\n this.normalsNeedUpdate = !0;\r\n }\r\n },\r\n normalizeNormals: function() {\r\n for (\r\n var a = this.attributes.normal.array, b, c, d, e = 0, f = a.length;\r\n e < f;\r\n e += 3\r\n )\r\n (b = a[e]),\r\n (c = a[e + 1]),\r\n (d = a[e + 2]),\r\n (b = 1 / Math.sqrt(b * b + c * c + d * d)),\r\n (a[e] *= b),\r\n (a[e + 1] *= b),\r\n (a[e + 2] *= b);\r\n },\r\n computeTangents: function() {\r\n function a(a) {\r\n Ca.x = d[3 * a];\r\n Ca.y = d[3 * a + 1];\r\n Ca.z = d[3 * a + 2];\r\n $a.copy(Ca);\r\n ca = i[a];\r\n U.copy(ca);\r\n U.sub(Ca.multiplyScalar(Ca.dot(ca))).normalize();\r\n fa.crossVectors($a, ca);\r\n qa = fa.dot(k[a]);\r\n M = 0 > qa ? -1 : 1;\r\n h[4 * a] = U.x;\r\n h[4 * a + 1] = U.y;\r\n h[4 * a + 2] = U.z;\r\n h[4 * a + 3] = M;\r\n }\r\n if (\r\n void 0 === this.attributes.index ||\r\n void 0 === this.attributes.position ||\r\n void 0 === this.attributes.normal ||\r\n void 0 === this.attributes.uv\r\n )\r\n console.warn(\r\n \"Missing required attributes (index, position, normal or uv) in BufferGeometry.computeTangents()\"\r\n );\r\n else {\r\n var b = this.attributes.index.array,\r\n c = this.attributes.position.array,\r\n d = this.attributes.normal.array,\r\n e = this.attributes.uv.array,\r\n f = c.length / 3;\r\n if (void 0 === this.attributes.tangent) {\r\n var g = 4 * f;\r\n this.attributes.tangent = {\r\n itemSize: 4,\r\n array: new Float32Array(g),\r\n numItems: g\r\n };\r\n }\r\n for (\r\n var h = this.attributes.tangent.array, i = [], k = [], g = 0;\r\n g < f;\r\n g++\r\n )\r\n (i[g] = new THREE.Vector3()), (k[g] = new THREE.Vector3());\r\n var l,\r\n m,\r\n n,\r\n s,\r\n r,\r\n p,\r\n q,\r\n y,\r\n v,\r\n z,\r\n t,\r\n A,\r\n I,\r\n C,\r\n x,\r\n f = new THREE.Vector3(),\r\n g = new THREE.Vector3(),\r\n G,\r\n J,\r\n E,\r\n H,\r\n B,\r\n W,\r\n F,\r\n K = this.offsets;\r\n E = 0;\r\n for (H = K.length; E < H; ++E) {\r\n J = K[E].start;\r\n B = K[E].count;\r\n var L = K[E].index;\r\n G = J;\r\n for (J += B; G < J; G += 3)\r\n (B = L + b[G]),\r\n (W = L + b[G + 1]),\r\n (F = L + b[G + 2]),\r\n (l = c[3 * B]),\r\n (m = c[3 * B + 1]),\r\n (n = c[3 * B + 2]),\r\n (s = c[3 * W]),\r\n (r = c[3 * W + 1]),\r\n (p = c[3 * W + 2]),\r\n (q = c[3 * F]),\r\n (y = c[3 * F + 1]),\r\n (v = c[3 * F + 2]),\r\n (z = e[2 * B]),\r\n (t = e[2 * B + 1]),\r\n (A = e[2 * W]),\r\n (I = e[2 * W + 1]),\r\n (C = e[2 * F]),\r\n (x = e[2 * F + 1]),\r\n (s -= l),\r\n (l = q - l),\r\n (r -= m),\r\n (m = y - m),\r\n (p -= n),\r\n (n = v - n),\r\n (A -= z),\r\n (z = C - z),\r\n (I -= t),\r\n (t = x - t),\r\n (x = 1 / (A * t - z * I)),\r\n f.set(\r\n (t * s - I * l) * x,\r\n (t * r - I * m) * x,\r\n (t * p - I * n) * x\r\n ),\r\n g.set(\r\n (A * l - z * s) * x,\r\n (A * m - z * r) * x,\r\n (A * n - z * p) * x\r\n ),\r\n i[B].add(f),\r\n i[W].add(f),\r\n i[F].add(f),\r\n k[B].add(g),\r\n k[W].add(g),\r\n k[F].add(g);\r\n }\r\n var U = new THREE.Vector3(),\r\n fa = new THREE.Vector3(),\r\n Ca = new THREE.Vector3(),\r\n $a = new THREE.Vector3(),\r\n M,\r\n ca,\r\n qa;\r\n E = 0;\r\n for (H = K.length; E < H; ++E) {\r\n J = K[E].start;\r\n B = K[E].count;\r\n L = K[E].index;\r\n G = J;\r\n for (J += B; G < J; G += 3)\r\n (B = L + b[G]),\r\n (W = L + b[G + 1]),\r\n (F = L + b[G + 2]),\r\n a(B),\r\n a(W),\r\n a(F);\r\n }\r\n this.tangentsNeedUpdate = this.hasTangents = !0;\r\n }\r\n },\r\n dispose: function() {\r\n this.dispatchEvent({ type: \"dispose\" });\r\n }\r\n};\r\nTHREE.Camera = function() {\r\n THREE.Object3D.call(this);\r\n this.matrixWorldInverse = new THREE.Matrix4();\r\n this.projectionMatrix = new THREE.Matrix4();\r\n this.projectionMatrixInverse = new THREE.Matrix4();\r\n};\r\nTHREE.Camera.prototype = Object.create(THREE.Object3D.prototype);\r\nTHREE.Camera.prototype.lookAt = function(a) {\r\n this.matrix.lookAt(this.position, a, this.up);\r\n !0 === this.rotationAutoUpdate &&\r\n (!1 === this.useQuaternion\r\n ? this.rotation.setEulerFromRotationMatrix(this.matrix, this.eulerOrder)\r\n : this.quaternion.copy(this.matrix.decompose()[1]));\r\n};\r\nTHREE.OrthographicCamera = function(a, b, c, d, e, f) {\r\n THREE.Camera.call(this);\r\n this.left = a;\r\n this.right = b;\r\n this.top = c;\r\n this.bottom = d;\r\n this.near = void 0 !== e ? e : 0.1;\r\n this.far = void 0 !== f ? f : 2e3;\r\n this.updateProjectionMatrix();\r\n};\r\nTHREE.OrthographicCamera.prototype = Object.create(THREE.Camera.prototype);\r\nTHREE.OrthographicCamera.prototype.updateProjectionMatrix = function() {\r\n this.projectionMatrix.makeOrthographic(\r\n this.left,\r\n this.right,\r\n this.top,\r\n this.bottom,\r\n this.near,\r\n this.far\r\n );\r\n};\r\nTHREE.PerspectiveCamera = function(a, b, c, d) {\r\n THREE.Camera.call(this);\r\n this.fov = void 0 !== a ? a : 50;\r\n this.aspect = void 0 !== b ? b : 1;\r\n this.near = void 0 !== c ? c : 0.1;\r\n this.far = void 0 !== d ? d : 2e3;\r\n this.updateProjectionMatrix();\r\n};\r\nTHREE.PerspectiveCamera.prototype = Object.create(THREE.Camera.prototype);\r\nTHREE.PerspectiveCamera.prototype.setLens = function(a, b) {\r\n void 0 === b && (b = 24);\r\n this.fov = 2 * THREE.Math.radToDeg(Math.atan(b / (2 * a)));\r\n this.updateProjectionMatrix();\r\n};\r\nTHREE.PerspectiveCamera.prototype.setViewOffset = function(a, b, c, d, e, f) {\r\n this.fullWidth = a;\r\n this.fullHeight = b;\r\n this.x = c;\r\n this.y = d;\r\n this.width = e;\r\n this.height = f;\r\n this.updateProjectionMatrix();\r\n};\r\nTHREE.PerspectiveCamera.prototype.updateProjectionMatrix = function() {\r\n if (this.fullWidth) {\r\n var a = this.fullWidth / this.fullHeight,\r\n b = Math.tan(THREE.Math.degToRad(0.5 * this.fov)) * this.near,\r\n c = -b,\r\n d = a * c,\r\n a = Math.abs(a * b - d),\r\n c = Math.abs(b - c);\r\n this.projectionMatrix.makeFrustum(\r\n d + (this.x * a) / this.fullWidth,\r\n d + ((this.x + this.width) * a) / this.fullWidth,\r\n b - ((this.y + this.height) * c) / this.fullHeight,\r\n b - (this.y * c) / this.fullHeight,\r\n this.near,\r\n this.far\r\n );\r\n } else\r\n this.projectionMatrix.makePerspective(\r\n this.fov,\r\n this.aspect,\r\n this.near,\r\n this.far\r\n );\r\n};\r\nTHREE.Light = function(a) {\r\n THREE.Object3D.call(this);\r\n this.color = new THREE.Color(a);\r\n};\r\nTHREE.Light.prototype = Object.create(THREE.Object3D.prototype);\r\nTHREE.AmbientLight = function(a) {\r\n THREE.Light.call(this, a);\r\n};\r\nTHREE.AmbientLight.prototype = Object.create(THREE.Light.prototype);\r\nTHREE.AreaLight = function(a, b) {\r\n THREE.Light.call(this, a);\r\n this.normal = new THREE.Vector3(0, -1, 0);\r\n this.right = new THREE.Vector3(1, 0, 0);\r\n this.intensity = void 0 !== b ? b : 1;\r\n this.height = this.width = 1;\r\n this.constantAttenuation = 1.5;\r\n this.linearAttenuation = 0.5;\r\n this.quadraticAttenuation = 0.1;\r\n};\r\nTHREE.AreaLight.prototype = Object.create(THREE.Light.prototype);\r\nTHREE.DirectionalLight = function(a, b) {\r\n THREE.Light.call(this, a);\r\n this.position = new THREE.Vector3(0, 1, 0);\r\n this.target = new THREE.Object3D();\r\n this.intensity = void 0 !== b ? b : 1;\r\n this.onlyShadow = this.castShadow = !1;\r\n this.shadowCameraNear = 50;\r\n this.shadowCameraFar = 5e3;\r\n this.shadowCameraLeft = -500;\r\n this.shadowCameraTop = this.shadowCameraRight = 500;\r\n this.shadowCameraBottom = -500;\r\n this.shadowCameraVisible = !1;\r\n this.shadowBias = 0;\r\n this.shadowDarkness = 0.5;\r\n this.shadowMapHeight = this.shadowMapWidth = 512;\r\n this.shadowCascade = !1;\r\n this.shadowCascadeOffset = new THREE.Vector3(0, 0, -1e3);\r\n this.shadowCascadeCount = 2;\r\n this.shadowCascadeBias = [0, 0, 0];\r\n this.shadowCascadeWidth = [512, 512, 512];\r\n this.shadowCascadeHeight = [512, 512, 512];\r\n this.shadowCascadeNearZ = [-1, 0.99, 0.998];\r\n this.shadowCascadeFarZ = [0.99, 0.998, 1];\r\n this.shadowCascadeArray = [];\r\n this.shadowMatrix = this.shadowCamera = this.shadowMapSize = this.shadowMap = null;\r\n};\r\nTHREE.DirectionalLight.prototype = Object.create(THREE.Light.prototype);\r\nTHREE.HemisphereLight = function(a, b, c) {\r\n THREE.Light.call(this, a);\r\n this.groundColor = new THREE.Color(b);\r\n this.position = new THREE.Vector3(0, 100, 0);\r\n this.intensity = void 0 !== c ? c : 1;\r\n};\r\nTHREE.HemisphereLight.prototype = Object.create(THREE.Light.prototype);\r\nTHREE.PointLight = function(a, b, c) {\r\n THREE.Light.call(this, a);\r\n this.position = new THREE.Vector3(0, 0, 0);\r\n this.intensity = void 0 !== b ? b : 1;\r\n this.distance = void 0 !== c ? c : 0;\r\n};\r\nTHREE.PointLight.prototype = Object.create(THREE.Light.prototype);\r\nTHREE.SpotLight = function(a, b, c, d, e) {\r\n THREE.Light.call(this, a);\r\n this.position = new THREE.Vector3(0, 1, 0);\r\n this.target = new THREE.Object3D();\r\n this.intensity = void 0 !== b ? b : 1;\r\n this.distance = void 0 !== c ? c : 0;\r\n this.angle = void 0 !== d ? d : Math.PI / 2;\r\n this.exponent = void 0 !== e ? e : 10;\r\n this.onlyShadow = this.castShadow = !1;\r\n this.shadowCameraNear = 50;\r\n this.shadowCameraFar = 5e3;\r\n this.shadowCameraFov = 50;\r\n this.shadowCameraVisible = !1;\r\n this.shadowBias = 0;\r\n this.shadowDarkness = 0.5;\r\n this.shadowMapHeight = this.shadowMapWidth = 512;\r\n this.shadowMatrix = this.shadowCamera = this.shadowMapSize = this.shadowMap = null;\r\n};\r\nTHREE.SpotLight.prototype = Object.create(THREE.Light.prototype);\r\nTHREE.Loader = function(a) {\r\n this.statusDomElement = (this.showStatus = a)\r\n ? THREE.Loader.prototype.addStatusElement()\r\n : null;\r\n this.onLoadStart = function() {};\r\n this.onLoadProgress = function() {};\r\n this.onLoadComplete = function() {};\r\n};\r\nTHREE.Loader.prototype = {\r\n constructor: THREE.Loader,\r\n crossOrigin: \"anonymous\",\r\n addStatusElement: function() {\r\n var a = document.createElement(\"div\");\r\n a.style.position = \"absolute\";\r\n a.style.right = \"0px\";\r\n a.style.top = \"0px\";\r\n a.style.fontSize = \"0.8em\";\r\n a.style.textAlign = \"left\";\r\n a.style.background = \"rgba(0,0,0,0.25)\";\r\n a.style.color = \"#fff\";\r\n a.style.width = \"120px\";\r\n a.style.padding = \"0.5em 0.5em 0.5em 0.5em\";\r\n a.style.zIndex = 1e3;\r\n a.innerHTML = \"Loading ...\";\r\n return a;\r\n },\r\n updateProgress: function(a) {\r\n var b = \"Loaded \",\r\n b = a.total\r\n ? b + (((100 * a.loaded) / a.total).toFixed(0) + \"%\")\r\n : b + ((a.loaded / 1e3).toFixed(2) + \" KB\");\r\n this.statusDomElement.innerHTML = b;\r\n },\r\n extractUrlBase: function(a) {\r\n a = a.split(\"/\");\r\n a.pop();\r\n return (1 > a.length ? \".\" : a.join(\"/\")) + \"/\";\r\n },\r\n initMaterials: function(a, b) {\r\n for (var c = [], d = 0; d < a.length; ++d)\r\n c[d] = THREE.Loader.prototype.createMaterial(a[d], b);\r\n return c;\r\n },\r\n needsTangents: function(a) {\r\n for (var b = 0, c = a.length; b < c; b++)\r\n if (a[b] instanceof THREE.ShaderMaterial) return !0;\r\n return !1;\r\n },\r\n createMaterial: function(a, b) {\r\n function c(a) {\r\n a = Math.log(a) / Math.LN2;\r\n return Math.floor(a) == a;\r\n }\r\n function d(a) {\r\n a = Math.log(a) / Math.LN2;\r\n return Math.pow(2, Math.round(a));\r\n }\r\n function e(a, e, f, h, i, k, q) {\r\n var y = /\\.dds$/i.test(f),\r\n v = b + \"/\" + f;\r\n if (y) {\r\n var z = THREE.ImageUtils.loadCompressedTexture(v);\r\n a[e] = z;\r\n } else\r\n (z = document.createElement(\"canvas\")), (a[e] = new THREE.Texture(z));\r\n a[e].sourceFile = f;\r\n h &&\r\n (a[e].repeat.set(h[0], h[1]),\r\n 1 !== h[0] && (a[e].wrapS = THREE.RepeatWrapping),\r\n 1 !== h[1] && (a[e].wrapT = THREE.RepeatWrapping));\r\n i && a[e].offset.set(i[0], i[1]);\r\n k &&\r\n ((f = {\r\n repeat: THREE.RepeatWrapping,\r\n mirror: THREE.MirroredRepeatWrapping\r\n }),\r\n void 0 !== f[k[0]] && (a[e].wrapS = f[k[0]]),\r\n void 0 !== f[k[1]] && (a[e].wrapT = f[k[1]]));\r\n q && (a[e].anisotropy = q);\r\n if (!y) {\r\n var t = a[e],\r\n a = new Image();\r\n a.onload = function() {\r\n if (!c(this.width) || !c(this.height)) {\r\n var a = d(this.width),\r\n b = d(this.height);\r\n t.image.width = a;\r\n t.image.height = b;\r\n t.image.getContext(\"2d\").drawImage(this, 0, 0, a, b);\r\n } else t.image = this;\r\n t.needsUpdate = !0;\r\n };\r\n a.crossOrigin = g.crossOrigin;\r\n a.src = v;\r\n }\r\n }\r\n function f(a) {\r\n return ((255 * a[0]) << 16) + ((255 * a[1]) << 8) + 255 * a[2];\r\n }\r\n var g = this,\r\n h = \"MeshLambertMaterial\",\r\n i = {\r\n color: 15658734,\r\n opacity: 1,\r\n map: null,\r\n lightMap: null,\r\n normalMap: null,\r\n bumpMap: null,\r\n wireframe: !1\r\n };\r\n if (a.shading) {\r\n var k = a.shading.toLowerCase();\r\n \"phong\" === k\r\n ? (h = \"MeshPhongMaterial\")\r\n : \"basic\" === k && (h = \"MeshBasicMaterial\");\r\n }\r\n void 0 !== a.blending &&\r\n void 0 !== THREE[a.blending] &&\r\n (i.blending = THREE[a.blending]);\r\n if (void 0 !== a.transparent || 1 > a.opacity)\r\n i.transparent = a.transparent;\r\n void 0 !== a.depthTest && (i.depthTest = a.depthTest);\r\n void 0 !== a.depthWrite && (i.depthWrite = a.depthWrite);\r\n void 0 !== a.visible && (i.visible = a.visible);\r\n void 0 !== a.flipSided && (i.side = THREE.BackSide);\r\n void 0 !== a.doubleSided && (i.side = THREE.DoubleSide);\r\n void 0 !== a.wireframe && (i.wireframe = a.wireframe);\r\n void 0 !== a.vertexColors &&\r\n (\"face\" === a.vertexColors\r\n ? (i.vertexColors = THREE.FaceColors)\r\n : a.vertexColors && (i.vertexColors = THREE.VertexColors));\r\n a.colorDiffuse\r\n ? (i.color = f(a.colorDiffuse))\r\n : a.DbgColor && (i.color = a.DbgColor);\r\n a.colorSpecular && (i.specular = f(a.colorSpecular));\r\n a.colorAmbient && (i.ambient = f(a.colorAmbient));\r\n a.transparency && (i.opacity = a.transparency);\r\n a.specularCoef && (i.shininess = a.specularCoef);\r\n a.mapDiffuse &&\r\n b &&\r\n e(\r\n i,\r\n \"map\",\r\n a.mapDiffuse,\r\n a.mapDiffuseRepeat,\r\n a.mapDiffuseOffset,\r\n a.mapDiffuseWrap,\r\n a.mapDiffuseAnisotropy\r\n );\r\n a.mapLight &&\r\n b &&\r\n e(\r\n i,\r\n \"lightMap\",\r\n a.mapLight,\r\n a.mapLightRepeat,\r\n a.mapLightOffset,\r\n a.mapLightWrap,\r\n a.mapLightAnisotropy\r\n );\r\n a.mapBump &&\r\n b &&\r\n e(\r\n i,\r\n \"bumpMap\",\r\n a.mapBump,\r\n a.mapBumpRepeat,\r\n a.mapBumpOffset,\r\n a.mapBumpWrap,\r\n a.mapBumpAnisotropy\r\n );\r\n a.mapNormal &&\r\n b &&\r\n e(\r\n i,\r\n \"normalMap\",\r\n a.mapNormal,\r\n a.mapNormalRepeat,\r\n a.mapNormalOffset,\r\n a.mapNormalWrap,\r\n a.mapNormalAnisotropy\r\n );\r\n a.mapSpecular &&\r\n b &&\r\n e(\r\n i,\r\n \"specularMap\",\r\n a.mapSpecular,\r\n a.mapSpecularRepeat,\r\n a.mapSpecularOffset,\r\n a.mapSpecularWrap,\r\n a.mapSpecularAnisotropy\r\n );\r\n a.mapBumpScale && (i.bumpScale = a.mapBumpScale);\r\n a.mapNormal\r\n ? ((h = THREE.ShaderLib.normalmap),\r\n (k = THREE.UniformsUtils.clone(h.uniforms)),\r\n (k.tNormal.value = i.normalMap),\r\n a.mapNormalFactor &&\r\n k.uNormalScale.value.set(a.mapNormalFactor, a.mapNormalFactor),\r\n i.map && ((k.tDiffuse.value = i.map), (k.enableDiffuse.value = !0)),\r\n i.specularMap &&\r\n ((k.tSpecular.value = i.specularMap), (k.enableSpecular.value = !0)),\r\n i.lightMap && ((k.tAO.value = i.lightMap), (k.enableAO.value = !0)),\r\n k.uDiffuseColor.value.setHex(i.color),\r\n k.uSpecularColor.value.setHex(i.specular),\r\n k.uAmbientColor.value.setHex(i.ambient),\r\n (k.uShininess.value = i.shininess),\r\n void 0 !== i.opacity && (k.uOpacity.value = i.opacity),\r\n (h = new THREE.ShaderMaterial({\r\n fragmentShader: h.fragmentShader,\r\n vertexShader: h.vertexShader,\r\n uniforms: k,\r\n lights: !0,\r\n fog: !0\r\n })),\r\n i.transparent && (h.transparent = !0))\r\n : (h = new THREE[h](i));\r\n void 0 !== a.DbgName && (h.name = a.DbgName);\r\n return h;\r\n }\r\n};\r\nTHREE.ImageLoader = function() {\r\n THREE.EventDispatcher.call(this);\r\n this.crossOrigin = null;\r\n};\r\nTHREE.ImageLoader.prototype = {\r\n constructor: THREE.ImageLoader,\r\n load: function(a, b) {\r\n var c = this;\r\n void 0 === b && (b = new Image());\r\n b.addEventListener(\r\n \"load\",\r\n function() {\r\n c.dispatchEvent({ type: \"load\", content: b });\r\n },\r\n !1\r\n );\r\n b.addEventListener(\r\n \"error\",\r\n function() {\r\n c.dispatchEvent({\r\n type: \"error\",\r\n message: \"Couldn't load URL [\" + a + \"]\"\r\n });\r\n },\r\n !1\r\n );\r\n c.crossOrigin && (b.crossOrigin = c.crossOrigin);\r\n b.src = a;\r\n }\r\n};\r\nTHREE.JSONLoader = function(a) {\r\n THREE.Loader.call(this, a);\r\n this.withCredentials = !1;\r\n};\r\nTHREE.JSONLoader.prototype = Object.create(THREE.Loader.prototype);\r\nTHREE.JSONLoader.prototype.load = function(a, b, c) {\r\n c = c && \"string\" === typeof c ? c : this.extractUrlBase(a);\r\n this.onLoadStart();\r\n this.loadAjaxJSON(this, a, b, c);\r\n};\r\nTHREE.JSONLoader.prototype.loadAjaxJSON = function(a, b, c, d, e) {\r\n var f = new XMLHttpRequest(),\r\n g = 0;\r\n f.onreadystatechange = function() {\r\n if (f.readyState === f.DONE)\r\n if (200 === f.status || 0 === f.status) {\r\n if (f.responseText) {\r\n var h = JSON.parse(f.responseText);\r\n a.createModel(h, c, d);\r\n } else\r\n console.warn(\r\n \"THREE.JSONLoader: [\" +\r\n b +\r\n \"] seems to be unreachable or file there is empty\"\r\n );\r\n a.onLoadComplete();\r\n } else\r\n console.error(\r\n \"THREE.JSONLoader: Couldn't load [\" + b + \"] [\" + f.status + \"]\"\r\n );\r\n else\r\n f.readyState === f.LOADING\r\n ? e &&\r\n (0 === g && (g = f.getResponseHeader(\"Content-Length\")),\r\n e({ total: g, loaded: f.responseText.length }))\r\n : f.readyState === f.HEADERS_RECEIVED &&\r\n (g = f.getResponseHeader(\"Content-Length\"));\r\n };\r\n f.open(\"GET\", b, !0);\r\n f.withCredentials = this.withCredentials;\r\n f.send(null);\r\n};\r\nTHREE.JSONLoader.prototype.createModel = function(a, b, c) {\r\n var d = new THREE.Geometry(),\r\n e = void 0 !== a.scale ? 1 / a.scale : 1,\r\n f,\r\n g,\r\n h,\r\n i,\r\n k,\r\n l,\r\n m,\r\n n,\r\n s,\r\n r,\r\n p,\r\n q,\r\n y,\r\n v,\r\n z,\r\n t = a.faces;\r\n r = a.vertices;\r\n var A = a.normals,\r\n I = a.colors,\r\n C = 0;\r\n for (f = 0; f < a.uvs.length; f++) a.uvs[f].length && C++;\r\n for (f = 0; f < C; f++) (d.faceUvs[f] = []), (d.faceVertexUvs[f] = []);\r\n i = 0;\r\n for (k = r.length; i < k; )\r\n (l = new THREE.Vector3()),\r\n (l.x = r[i++] * e),\r\n (l.y = r[i++] * e),\r\n (l.z = r[i++] * e),\r\n d.vertices.push(l);\r\n i = 0;\r\n for (k = t.length; i < k; ) {\r\n r = t[i++];\r\n l = r & 1;\r\n h = r & 2;\r\n f = r & 4;\r\n g = r & 8;\r\n n = r & 16;\r\n m = r & 32;\r\n p = r & 64;\r\n r &= 128;\r\n l\r\n ? ((q = new THREE.Face4()),\r\n (q.a = t[i++]),\r\n (q.b = t[i++]),\r\n (q.c = t[i++]),\r\n (q.d = t[i++]),\r\n (l = 4))\r\n : ((q = new THREE.Face3()),\r\n (q.a = t[i++]),\r\n (q.b = t[i++]),\r\n (q.c = t[i++]),\r\n (l = 3));\r\n h && ((h = t[i++]), (q.materialIndex = h));\r\n h = d.faces.length;\r\n if (f)\r\n for (f = 0; f < C; f++)\r\n (y = a.uvs[f]),\r\n (s = t[i++]),\r\n (z = y[2 * s]),\r\n (s = y[2 * s + 1]),\r\n (d.faceUvs[f][h] = new THREE.Vector2(z, s));\r\n if (g)\r\n for (f = 0; f < C; f++) {\r\n y = a.uvs[f];\r\n v = [];\r\n for (g = 0; g < l; g++)\r\n (s = t[i++]),\r\n (z = y[2 * s]),\r\n (s = y[2 * s + 1]),\r\n (v[g] = new THREE.Vector2(z, s));\r\n d.faceVertexUvs[f][h] = v;\r\n }\r\n n &&\r\n ((n = 3 * t[i++]),\r\n (g = new THREE.Vector3()),\r\n (g.x = A[n++]),\r\n (g.y = A[n++]),\r\n (g.z = A[n]),\r\n (q.normal = g));\r\n if (m)\r\n for (f = 0; f < l; f++)\r\n (n = 3 * t[i++]),\r\n (g = new THREE.Vector3()),\r\n (g.x = A[n++]),\r\n (g.y = A[n++]),\r\n (g.z = A[n]),\r\n q.vertexNormals.push(g);\r\n p && ((m = t[i++]), (m = new THREE.Color(I[m])), (q.color = m));\r\n if (r)\r\n for (f = 0; f < l; f++)\r\n (m = t[i++]), (m = new THREE.Color(I[m])), q.vertexColors.push(m);\r\n d.faces.push(q);\r\n }\r\n if (a.skinWeights) {\r\n i = 0;\r\n for (k = a.skinWeights.length; i < k; i += 2)\r\n (t = a.skinWeights[i]),\r\n (A = a.skinWeights[i + 1]),\r\n d.skinWeights.push(new THREE.Vector4(t, A, 0, 0));\r\n }\r\n if (a.skinIndices) {\r\n i = 0;\r\n for (k = a.skinIndices.length; i < k; i += 2)\r\n (t = a.skinIndices[i]),\r\n (A = a.skinIndices[i + 1]),\r\n d.skinIndices.push(new THREE.Vector4(t, A, 0, 0));\r\n }\r\n d.bones = a.bones;\r\n d.animation = a.animation;\r\n if (void 0 !== a.morphTargets) {\r\n i = 0;\r\n for (k = a.morphTargets.length; i < k; i++) {\r\n d.morphTargets[i] = {};\r\n d.morphTargets[i].name = a.morphTargets[i].name;\r\n d.morphTargets[i].vertices = [];\r\n I = d.morphTargets[i].vertices;\r\n C = a.morphTargets[i].vertices;\r\n t = 0;\r\n for (A = C.length; t < A; t += 3)\r\n (r = new THREE.Vector3()),\r\n (r.x = C[t] * e),\r\n (r.y = C[t + 1] * e),\r\n (r.z = C[t + 2] * e),\r\n I.push(r);\r\n }\r\n }\r\n if (void 0 !== a.morphColors) {\r\n i = 0;\r\n for (k = a.morphColors.length; i < k; i++) {\r\n d.morphColors[i] = {};\r\n d.morphColors[i].name = a.morphColors[i].name;\r\n d.morphColors[i].colors = [];\r\n A = d.morphColors[i].colors;\r\n I = a.morphColors[i].colors;\r\n e = 0;\r\n for (t = I.length; e < t; e += 3)\r\n (C = new THREE.Color(16755200)),\r\n C.setRGB(I[e], I[e + 1], I[e + 2]),\r\n A.push(C);\r\n }\r\n }\r\n d.computeCentroids();\r\n d.computeFaceNormals();\r\n a = this.initMaterials(a.materials, c);\r\n this.needsTangents(a) && d.computeTangents();\r\n b(d, a);\r\n};\r\nTHREE.LoadingMonitor = function() {\r\n THREE.EventDispatcher.call(this);\r\n var a = this,\r\n b = 0,\r\n c = 0,\r\n d = function() {\r\n b++;\r\n a.dispatchEvent({ type: \"progress\", loaded: b, total: c });\r\n b === c && a.dispatchEvent({ type: \"load\" });\r\n };\r\n this.add = function(a) {\r\n c++;\r\n a.addEventListener(\"load\", d, !1);\r\n };\r\n};\r\nTHREE.SceneLoader = function() {\r\n this.onLoadStart = function() {};\r\n this.onLoadProgress = function() {};\r\n this.onLoadComplete = function() {};\r\n this.callbackSync = function() {};\r\n this.callbackProgress = function() {};\r\n this.geometryHandlerMap = {};\r\n this.hierarchyHandlerMap = {};\r\n this.addGeometryHandler(\"ascii\", THREE.JSONLoader);\r\n};\r\nTHREE.SceneLoader.prototype.constructor = THREE.SceneLoader;\r\nTHREE.SceneLoader.prototype.load = function(a, b) {\r\n var c = this,\r\n d = new XMLHttpRequest();\r\n d.onreadystatechange = function() {\r\n if (4 === d.readyState)\r\n if (200 === d.status || 0 === d.status) {\r\n var e = JSON.parse(d.responseText);\r\n c.parse(e, b, a);\r\n } else\r\n console.error(\r\n \"THREE.SceneLoader: Couldn't load [\" + a + \"] [\" + d.status + \"]\"\r\n );\r\n };\r\n d.open(\"GET\", a, !0);\r\n d.send(null);\r\n};\r\nTHREE.SceneLoader.prototype.addGeometryHandler = function(a, b) {\r\n this.geometryHandlerMap[a] = { loaderClass: b };\r\n};\r\nTHREE.SceneLoader.prototype.addHierarchyHandler = function(a, b) {\r\n this.hierarchyHandlerMap[a] = { loaderClass: b };\r\n};\r\nTHREE.SceneLoader.prototype.parse = function(a, b, c) {\r\n function d(a, b) {\r\n return \"relativeToHTML\" == b ? a : m + \"/\" + a;\r\n }\r\n function e() {\r\n f(x.scene, J.objects);\r\n }\r\n function f(a, b) {\r\n var c, e, g, i, k, m, p;\r\n for (p in b)\r\n if (void 0 === x.objects[p]) {\r\n var q = b[p],\r\n t = null;\r\n if (q.type && q.type in l.hierarchyHandlerMap) {\r\n if (void 0 === q.loading) {\r\n e = {\r\n type: 1,\r\n url: 1,\r\n material: 1,\r\n position: 1,\r\n rotation: 1,\r\n scale: 1,\r\n visible: 1,\r\n children: 1,\r\n properties: 1,\r\n skin: 1,\r\n morph: 1,\r\n mirroredLoop: 1,\r\n duration: 1\r\n };\r\n g = {};\r\n for (var B in q) B in e || (g[B] = q[B]);\r\n s = x.materials[q.material];\r\n q.loading = !0;\r\n e = l.hierarchyHandlerMap[q.type].loaderObject;\r\n e.options\r\n ? e.load(d(q.url, J.urlBaseType), h(p, a, s, q))\r\n : e.load(d(q.url, J.urlBaseType), h(p, a, s, q), g);\r\n }\r\n } else if (void 0 !== q.geometry) {\r\n if ((n = x.geometries[q.geometry])) {\r\n t = !1;\r\n s = x.materials[q.material];\r\n t = s instanceof THREE.ShaderMaterial;\r\n g = q.position;\r\n i = q.rotation;\r\n k = q.scale;\r\n c = q.matrix;\r\n m = q.quaternion;\r\n q.material ||\r\n (s = new THREE.MeshFaceMaterial(x.face_materials[q.geometry]));\r\n s instanceof THREE.MeshFaceMaterial &&\r\n 0 === s.materials.length &&\r\n (s = new THREE.MeshFaceMaterial(x.face_materials[q.geometry]));\r\n if (s instanceof THREE.MeshFaceMaterial)\r\n for (e = 0; e < s.materials.length; e++)\r\n t = t || s.materials[e] instanceof THREE.ShaderMaterial;\r\n t && n.computeTangents();\r\n q.skin\r\n ? (t = new THREE.SkinnedMesh(n, s))\r\n : q.morph\r\n ? ((t = new THREE.MorphAnimMesh(n, s)),\r\n void 0 !== q.duration && (t.duration = q.duration),\r\n void 0 !== q.time && (t.time = q.time),\r\n void 0 !== q.mirroredLoop && (t.mirroredLoop = q.mirroredLoop),\r\n s.morphNormals && n.computeMorphNormals())\r\n : (t = new THREE.Mesh(n, s));\r\n t.name = p;\r\n c\r\n ? ((t.matrixAutoUpdate = !1),\r\n t.matrix.set(\r\n c[0],\r\n c[1],\r\n c[2],\r\n c[3],\r\n c[4],\r\n c[5],\r\n c[6],\r\n c[7],\r\n c[8],\r\n c[9],\r\n c[10],\r\n c[11],\r\n c[12],\r\n c[13],\r\n c[14],\r\n c[15]\r\n ))\r\n : (t.position.set(g[0], g[1], g[2]),\r\n m\r\n ? (t.quaternion.set(m[0], m[1], m[2], m[3]),\r\n (t.useQuaternion = !0))\r\n : t.rotation.set(i[0], i[1], i[2]),\r\n t.scale.set(k[0], k[1], k[2]));\r\n t.visible = q.visible;\r\n t.castShadow = q.castShadow;\r\n t.receiveShadow = q.receiveShadow;\r\n a.add(t);\r\n x.objects[p] = t;\r\n }\r\n } else\r\n \"DirectionalLight\" === q.type ||\r\n \"PointLight\" === q.type ||\r\n \"AmbientLight\" === q.type\r\n ? ((v = void 0 !== q.color ? q.color : 16777215),\r\n (z = void 0 !== q.intensity ? q.intensity : 1),\r\n \"DirectionalLight\" === q.type\r\n ? ((g = q.direction),\r\n (y = new THREE.DirectionalLight(v, z)),\r\n y.position.set(g[0], g[1], g[2]),\r\n q.target &&\r\n (G.push({ object: y, targetName: q.target }),\r\n (y.target = null)))\r\n : \"PointLight\" === q.type\r\n ? ((g = q.position),\r\n (e = q.distance),\r\n (y = new THREE.PointLight(v, z, e)),\r\n y.position.set(g[0], g[1], g[2]))\r\n : \"AmbientLight\" === q.type && (y = new THREE.AmbientLight(v)),\r\n a.add(y),\r\n (y.name = p),\r\n (x.lights[p] = y),\r\n (x.objects[p] = y))\r\n : \"PerspectiveCamera\" === q.type || \"OrthographicCamera\" === q.type\r\n ? (\"PerspectiveCamera\" === q.type\r\n ? (r = new THREE.PerspectiveCamera(\r\n q.fov,\r\n q.aspect,\r\n q.near,\r\n q.far\r\n ))\r\n : \"OrthographicCamera\" === q.type &&\r\n (r = new THREE.OrthographicCamera(\r\n q.left,\r\n q.right,\r\n q.top,\r\n q.bottom,\r\n q.near,\r\n q.far\r\n )),\r\n (g = q.position),\r\n r.position.set(g[0], g[1], g[2]),\r\n a.add(r),\r\n (r.name = p),\r\n (x.cameras[p] = r),\r\n (x.objects[p] = r))\r\n : ((g = q.position),\r\n (i = q.rotation),\r\n (k = q.scale),\r\n (m = q.quaternion),\r\n (t = new THREE.Object3D()),\r\n (t.name = p),\r\n t.position.set(g[0], g[1], g[2]),\r\n m\r\n ? (t.quaternion.set(m[0], m[1], m[2], m[3]),\r\n (t.useQuaternion = !0))\r\n : t.rotation.set(i[0], i[1], i[2]),\r\n t.scale.set(k[0], k[1], k[2]),\r\n (t.visible = void 0 !== q.visible ? q.visible : !1),\r\n a.add(t),\r\n (x.objects[p] = t),\r\n (x.empties[p] = t));\r\n if (t) {\r\n if (void 0 !== q.properties)\r\n for (var C in q.properties) t.properties[C] = q.properties[C];\r\n if (void 0 !== q.groups)\r\n for (e = 0; e < q.groups.length; e++)\r\n (g = q.groups[e]),\r\n void 0 === x.groups[g] && (x.groups[g] = []),\r\n x.groups[g].push(p);\r\n void 0 !== q.children && f(t, q.children);\r\n }\r\n }\r\n }\r\n function g(a) {\r\n return function(b, c) {\r\n x.geometries[a] = b;\r\n x.face_materials[a] = c;\r\n e();\r\n t -= 1;\r\n l.onLoadComplete();\r\n k();\r\n };\r\n }\r\n function h(a, b, c, d) {\r\n return function(f) {\r\n var f = f.content ? f.content : f.dae ? f.scene : f,\r\n g = d.position,\r\n h = d.rotation,\r\n i = d.quaternion,\r\n n = d.scale;\r\n f.position.set(g[0], g[1], g[2]);\r\n i\r\n ? (f.quaternion.set(i[0], i[1], i[2], i[3]), (f.useQuaternion = !0))\r\n : f.rotation.set(h[0], h[1], h[2]);\r\n f.scale.set(n[0], n[1], n[2]);\r\n c &&\r\n f.traverse(function(a) {\r\n a.material = c;\r\n });\r\n var m = void 0 !== d.visible ? d.visible : !0;\r\n f.traverse(function(a) {\r\n a.visible = m;\r\n });\r\n b.add(f);\r\n f.name = a;\r\n x.objects[a] = f;\r\n e();\r\n t -= 1;\r\n l.onLoadComplete();\r\n k();\r\n };\r\n }\r\n function i(a) {\r\n return function(b, c) {\r\n x.geometries[a] = b;\r\n x.face_materials[a] = c;\r\n };\r\n }\r\n function k() {\r\n l.callbackProgress(\r\n {\r\n totalModels: I,\r\n totalTextures: C,\r\n loadedModels: I - t,\r\n loadedTextures: C - A\r\n },\r\n x\r\n );\r\n l.onLoadProgress();\r\n if (0 === t && 0 === A) {\r\n for (var a = 0; a < G.length; a++) {\r\n var c = G[a],\r\n d = x.objects[c.targetName];\r\n d\r\n ? (c.object.target = d)\r\n : ((c.object.target = new THREE.Object3D()),\r\n x.scene.add(c.object.target));\r\n c.object.target.properties.targetInverse = c.object;\r\n }\r\n b(x);\r\n }\r\n }\r\n var l = this,\r\n m = THREE.Loader.prototype.extractUrlBase(c),\r\n n,\r\n s,\r\n r,\r\n p,\r\n q,\r\n y,\r\n v,\r\n z,\r\n t,\r\n A,\r\n I,\r\n C,\r\n x,\r\n G = [],\r\n J = a,\r\n E;\r\n for (E in this.geometryHandlerMap)\r\n (a = this.geometryHandlerMap[E].loaderClass),\r\n (this.geometryHandlerMap[E].loaderObject = new a());\r\n for (E in this.hierarchyHandlerMap)\r\n (a = this.hierarchyHandlerMap[E].loaderClass),\r\n (this.hierarchyHandlerMap[E].loaderObject = new a());\r\n A = t = 0;\r\n x = {\r\n scene: new THREE.Scene(),\r\n geometries: {},\r\n face_materials: {},\r\n materials: {},\r\n textures: {},\r\n objects: {},\r\n cameras: {},\r\n lights: {},\r\n fogs: {},\r\n empties: {},\r\n groups: {}\r\n };\r\n if (\r\n J.transform &&\r\n ((E = J.transform.position),\r\n (a = J.transform.rotation),\r\n (c = J.transform.scale),\r\n E && x.scene.position.set(E[0], E[1], E[2]),\r\n a && x.scene.rotation.set(a[0], a[1], a[2]),\r\n c && x.scene.scale.set(c[0], c[1], c[2]),\r\n E || a || c)\r\n )\r\n x.scene.updateMatrix(), x.scene.updateMatrixWorld();\r\n E = function(a) {\r\n return function() {\r\n A -= a;\r\n k();\r\n l.onLoadComplete();\r\n };\r\n };\r\n for (var H in J.fogs)\r\n (a = J.fogs[H]),\r\n \"linear\" === a.type\r\n ? (p = new THREE.Fog(0, a.near, a.far))\r\n : \"exp2\" === a.type && (p = new THREE.FogExp2(0, a.density)),\r\n (a = a.color),\r\n p.color.setRGB(a[0], a[1], a[2]),\r\n (x.fogs[H] = p);\r\n for (var B in J.geometries)\r\n (p = J.geometries[B]),\r\n p.type in this.geometryHandlerMap && ((t += 1), l.onLoadStart());\r\n for (var W in J.objects)\r\n (p = J.objects[W]),\r\n p.type &&\r\n p.type in this.hierarchyHandlerMap &&\r\n ((t += 1), l.onLoadStart());\r\n I = t;\r\n for (B in J.geometries)\r\n if (((p = J.geometries[B]), \"cube\" === p.type))\r\n (n = new THREE.CubeGeometry(\r\n p.width,\r\n p.height,\r\n p.depth,\r\n p.widthSegments,\r\n p.heightSegments,\r\n p.depthSegments\r\n )),\r\n (x.geometries[B] = n);\r\n else if (\"plane\" === p.type)\r\n (n = new THREE.PlaneGeometry(\r\n p.width,\r\n p.height,\r\n p.widthSegments,\r\n p.heightSegments\r\n )),\r\n (x.geometries[B] = n);\r\n else if (\"sphere\" === p.type)\r\n (n = new THREE.SphereGeometry(\r\n p.radius,\r\n p.widthSegments,\r\n p.heightSegments\r\n )),\r\n (x.geometries[B] = n);\r\n else if (\"cylinder\" === p.type)\r\n (n = new THREE.CylinderGeometry(\r\n p.topRad,\r\n p.botRad,\r\n p.height,\r\n p.radSegs,\r\n p.heightSegs\r\n )),\r\n (x.geometries[B] = n);\r\n else if (\"torus\" === p.type)\r\n (n = new THREE.TorusGeometry(p.radius, p.tube, p.segmentsR, p.segmentsT)),\r\n (x.geometries[B] = n);\r\n else if (\"icosahedron\" === p.type)\r\n (n = new THREE.IcosahedronGeometry(p.radius, p.subdivisions)),\r\n (x.geometries[B] = n);\r\n else if (p.type in this.geometryHandlerMap) {\r\n W = {};\r\n for (q in p) \"type\" !== q && \"url\" !== q && (W[q] = p[q]);\r\n this.geometryHandlerMap[p.type].loaderObject.load(\r\n d(p.url, J.urlBaseType),\r\n g(B),\r\n W\r\n );\r\n } else\r\n \"embedded\" === p.type &&\r\n ((W = J.embeds[p.id]),\r\n (W.metadata = J.metadata),\r\n W &&\r\n this.geometryHandlerMap.ascii.loaderObject.createModel(W, i(B), \"\"));\r\n for (var F in J.textures)\r\n if (((B = J.textures[F]), B.url instanceof Array)) {\r\n A += B.url.length;\r\n for (q = 0; q < B.url.length; q++) l.onLoadStart();\r\n } else (A += 1), l.onLoadStart();\r\n C = A;\r\n for (F in J.textures) {\r\n B = J.textures[F];\r\n void 0 !== B.mapping &&\r\n void 0 !== THREE[B.mapping] &&\r\n (B.mapping = new THREE[B.mapping]());\r\n if (B.url instanceof Array) {\r\n W = B.url.length;\r\n p = [];\r\n for (q = 0; q < W; q++) p[q] = d(B.url[q], J.urlBaseType);\r\n q = (q = /\\.dds$/i.test(p[0]))\r\n ? THREE.ImageUtils.loadCompressedTextureCube(p, B.mapping, E(W))\r\n : THREE.ImageUtils.loadTextureCube(p, B.mapping, E(W));\r\n } else\r\n (q = /\\.dds$/i.test(B.url)),\r\n (W = d(B.url, J.urlBaseType)),\r\n (p = E(1)),\r\n (q = q\r\n ? THREE.ImageUtils.loadCompressedTexture(W, B.mapping, p)\r\n : THREE.ImageUtils.loadTexture(W, B.mapping, p)),\r\n void 0 !== THREE[B.minFilter] && (q.minFilter = THREE[B.minFilter]),\r\n void 0 !== THREE[B.magFilter] && (q.magFilter = THREE[B.magFilter]),\r\n B.anisotropy && (q.anisotropy = B.anisotropy),\r\n B.repeat &&\r\n (q.repeat.set(B.repeat[0], B.repeat[1]),\r\n 1 !== B.repeat[0] && (q.wrapS = THREE.RepeatWrapping),\r\n 1 !== B.repeat[1] && (q.wrapT = THREE.RepeatWrapping)),\r\n B.offset && q.offset.set(B.offset[0], B.offset[1]),\r\n B.wrap &&\r\n ((W = {\r\n repeat: THREE.RepeatWrapping,\r\n mirror: THREE.MirroredRepeatWrapping\r\n }),\r\n void 0 !== W[B.wrap[0]] && (q.wrapS = W[B.wrap[0]]),\r\n void 0 !== W[B.wrap[1]] && (q.wrapT = W[B.wrap[1]]));\r\n x.textures[F] = q;\r\n }\r\n var K, L;\r\n for (K in J.materials) {\r\n F = J.materials[K];\r\n for (L in F.parameters)\r\n \"envMap\" === L || \"map\" === L || \"lightMap\" === L || \"bumpMap\" === L\r\n ? (F.parameters[L] = x.textures[F.parameters[L]])\r\n : \"shading\" === L\r\n ? (F.parameters[L] =\r\n \"flat\" === F.parameters[L]\r\n ? THREE.FlatShading\r\n : THREE.SmoothShading)\r\n : \"side\" === L\r\n ? (F.parameters[L] =\r\n \"double\" == F.parameters[L]\r\n ? THREE.DoubleSide\r\n : \"back\" == F.parameters[L]\r\n ? THREE.BackSide\r\n : THREE.FrontSide)\r\n : \"blending\" === L\r\n ? (F.parameters[L] =\r\n F.parameters[L] in THREE\r\n ? THREE[F.parameters[L]]\r\n : THREE.NormalBlending)\r\n : \"combine\" === L\r\n ? (F.parameters[L] =\r\n F.parameters[L] in THREE\r\n ? THREE[F.parameters[L]]\r\n : THREE.MultiplyOperation)\r\n : \"vertexColors\" === L\r\n ? \"face\" == F.parameters[L]\r\n ? (F.parameters[L] = THREE.FaceColors)\r\n : F.parameters[L] && (F.parameters[L] = THREE.VertexColors)\r\n : \"wrapRGB\" === L &&\r\n ((E = F.parameters[L]),\r\n (F.parameters[L] = new THREE.Vector3(E[0], E[1], E[2])));\r\n void 0 !== F.parameters.opacity &&\r\n 1 > F.parameters.opacity &&\r\n (F.parameters.transparent = !0);\r\n F.parameters.normalMap\r\n ? ((E = THREE.ShaderLib.normalmap),\r\n (B = THREE.UniformsUtils.clone(E.uniforms)),\r\n (q = F.parameters.color),\r\n (W = F.parameters.specular),\r\n (p = F.parameters.ambient),\r\n (H = F.parameters.shininess),\r\n (B.tNormal.value = x.textures[F.parameters.normalMap]),\r\n F.parameters.normalScale &&\r\n B.uNormalScale.value.set(\r\n F.parameters.normalScale[0],\r\n F.parameters.normalScale[1]\r\n ),\r\n F.parameters.map &&\r\n ((B.tDiffuse.value = F.parameters.map), (B.enableDiffuse.value = !0)),\r\n F.parameters.envMap &&\r\n ((B.tCube.value = F.parameters.envMap),\r\n (B.enableReflection.value = !0),\r\n (B.uReflectivity.value = F.parameters.reflectivity)),\r\n F.parameters.lightMap &&\r\n ((B.tAO.value = F.parameters.lightMap), (B.enableAO.value = !0)),\r\n F.parameters.specularMap &&\r\n ((B.tSpecular.value = x.textures[F.parameters.specularMap]),\r\n (B.enableSpecular.value = !0)),\r\n F.parameters.displacementMap &&\r\n ((B.tDisplacement.value = x.textures[F.parameters.displacementMap]),\r\n (B.enableDisplacement.value = !0),\r\n (B.uDisplacementBias.value = F.parameters.displacementBias),\r\n (B.uDisplacementScale.value = F.parameters.displacementScale)),\r\n B.uDiffuseColor.value.setHex(q),\r\n B.uSpecularColor.value.setHex(W),\r\n B.uAmbientColor.value.setHex(p),\r\n (B.uShininess.value = H),\r\n F.parameters.opacity && (B.uOpacity.value = F.parameters.opacity),\r\n (s = new THREE.ShaderMaterial({\r\n fragmentShader: E.fragmentShader,\r\n vertexShader: E.vertexShader,\r\n uniforms: B,\r\n lights: !0,\r\n fog: !0\r\n })))\r\n : (s = new THREE[F.type](F.parameters));\r\n x.materials[K] = s;\r\n }\r\n for (K in J.materials)\r\n if (((F = J.materials[K]), F.parameters.materials)) {\r\n L = [];\r\n for (q = 0; q < F.parameters.materials.length; q++)\r\n L.push(x.materials[F.parameters.materials[q]]);\r\n x.materials[K].materials = L;\r\n }\r\n e();\r\n x.cameras &&\r\n J.defaults.camera &&\r\n (x.currentCamera = x.cameras[J.defaults.camera]);\r\n x.fogs && J.defaults.fog && (x.scene.fog = x.fogs[J.defaults.fog]);\r\n l.callbackSync(x);\r\n k();\r\n};\r\nTHREE.TextureLoader = function() {\r\n THREE.EventDispatcher.call(this);\r\n this.crossOrigin = null;\r\n};\r\nTHREE.TextureLoader.prototype = {\r\n constructor: THREE.TextureLoader,\r\n load: function(a) {\r\n var b = this,\r\n c = new Image();\r\n c.addEventListener(\r\n \"load\",\r\n function() {\r\n var a = new THREE.Texture(c);\r\n a.needsUpdate = !0;\r\n b.dispatchEvent({ type: \"load\", content: a });\r\n },\r\n !1\r\n );\r\n c.addEventListener(\r\n \"error\",\r\n function() {\r\n b.dispatchEvent({\r\n type: \"error\",\r\n message: \"Couldn't load URL [\" + a + \"]\"\r\n });\r\n },\r\n !1\r\n );\r\n b.crossOrigin && (c.crossOrigin = b.crossOrigin);\r\n c.src = a;\r\n }\r\n};\r\nTHREE.Material = function() {\r\n THREE.EventDispatcher.call(this);\r\n this.id = THREE.MaterialIdCount++;\r\n this.name = \"\";\r\n this.side = THREE.FrontSide;\r\n this.opacity = 1;\r\n this.transparent = !1;\r\n this.blending = THREE.NormalBlending;\r\n this.blendSrc = THREE.SrcAlphaFactor;\r\n this.blendDst = THREE.OneMinusSrcAlphaFactor;\r\n this.blendEquation = THREE.AddEquation;\r\n this.depthWrite = this.depthTest = !0;\r\n this.polygonOffset = !1;\r\n this.alphaTest = this.polygonOffsetUnits = this.polygonOffsetFactor = 0;\r\n this.overdraw = !1;\r\n this.needsUpdate = this.visible = !0;\r\n};\r\nTHREE.Material.prototype.setValues = function(a) {\r\n if (void 0 !== a)\r\n for (var b in a) {\r\n var c = a[b];\r\n if (void 0 === c)\r\n console.warn(\"THREE.Material: '\" + b + \"' parameter is undefined.\");\r\n else if (b in this) {\r\n var d = this[b];\r\n d instanceof THREE.Color && c instanceof THREE.Color\r\n ? d.copy(c)\r\n : d instanceof THREE.Color\r\n ? d.set(c)\r\n : d instanceof THREE.Vector3 && c instanceof THREE.Vector3\r\n ? d.copy(c)\r\n : (this[b] = c);\r\n }\r\n }\r\n};\r\nTHREE.Material.prototype.clone = function(a) {\r\n void 0 === a && (a = new THREE.Material());\r\n a.name = this.name;\r\n a.side = this.side;\r\n a.opacity = this.opacity;\r\n a.transparent = this.transparent;\r\n a.blending = this.blending;\r\n a.blendSrc = this.blendSrc;\r\n a.blendDst = this.blendDst;\r\n a.blendEquation = this.blendEquation;\r\n a.depthTest = this.depthTest;\r\n a.depthWrite = this.depthWrite;\r\n a.polygonOffset = this.polygonOffset;\r\n a.polygonOffsetFactor = this.polygonOffsetFactor;\r\n a.polygonOffsetUnits = this.polygonOffsetUnits;\r\n a.alphaTest = this.alphaTest;\r\n a.overdraw = this.overdraw;\r\n a.visible = this.visible;\r\n return a;\r\n};\r\nTHREE.Material.prototype.dispose = function() {\r\n this.dispatchEvent({ type: \"dispose\" });\r\n};\r\nTHREE.MaterialIdCount = 0;\r\nTHREE.LineBasicMaterial = function(a) {\r\n THREE.Material.call(this);\r\n this.color = new THREE.Color(16777215);\r\n this.linewidth = 1;\r\n this.linejoin = this.linecap = \"round\";\r\n this.vertexColors = !1;\r\n this.fog = !0;\r\n this.setValues(a);\r\n};\r\nTHREE.LineBasicMaterial.prototype = Object.create(THREE.Material.prototype);\r\nTHREE.LineBasicMaterial.prototype.clone = function() {\r\n var a = new THREE.LineBasicMaterial();\r\n THREE.Material.prototype.clone.call(this, a);\r\n a.color.copy(this.color);\r\n a.linewidth = this.linewidth;\r\n a.linecap = this.linecap;\r\n a.linejoin = this.linejoin;\r\n a.vertexColors = this.vertexColors;\r\n a.fog = this.fog;\r\n return a;\r\n};\r\nTHREE.LineDashedMaterial = function(a) {\r\n THREE.Material.call(this);\r\n this.color = new THREE.Color(16777215);\r\n this.scale = this.linewidth = 1;\r\n this.dashSize = 3;\r\n this.gapSize = 1;\r\n this.vertexColors = !1;\r\n this.fog = !0;\r\n this.setValues(a);\r\n};\r\nTHREE.LineDashedMaterial.prototype = Object.create(THREE.Material.prototype);\r\nTHREE.LineDashedMaterial.prototype.clone = function() {\r\n var a = new THREE.LineDashedMaterial();\r\n THREE.Material.prototype.clone.call(this, a);\r\n a.color.copy(this.color);\r\n a.linewidth = this.linewidth;\r\n a.scale = this.scale;\r\n a.dashSize = this.dashSize;\r\n a.gapSize = this.gapSize;\r\n a.vertexColors = this.vertexColors;\r\n a.fog = this.fog;\r\n return a;\r\n};\r\nTHREE.MeshBasicMaterial = function(a) {\r\n THREE.Material.call(this);\r\n this.color = new THREE.Color(16777215);\r\n this.envMap = this.specularMap = this.lightMap = this.map = null;\r\n this.combine = THREE.MultiplyOperation;\r\n this.reflectivity = 1;\r\n this.refractionRatio = 0.98;\r\n this.fog = !0;\r\n this.shading = THREE.SmoothShading;\r\n this.wireframe = !1;\r\n this.wireframeLinewidth = 1;\r\n this.wireframeLinejoin = this.wireframeLinecap = \"round\";\r\n this.vertexColors = THREE.NoColors;\r\n this.morphTargets = this.skinning = !1;\r\n this.setValues(a);\r\n};\r\nTHREE.MeshBasicMaterial.prototype = Object.create(THREE.Material.prototype);\r\nTHREE.MeshBasicMaterial.prototype.clone = function() {\r\n var a = new THREE.MeshBasicMaterial();\r\n THREE.Material.prototype.clone.call(this, a);\r\n a.color.copy(this.color);\r\n a.map = this.map;\r\n a.lightMap = this.lightMap;\r\n a.specularMap = this.specularMap;\r\n a.envMap = this.envMap;\r\n a.combine = this.combine;\r\n a.reflectivity = this.reflectivity;\r\n a.refractionRatio = this.refractionRatio;\r\n a.fog = this.fog;\r\n a.shading = this.shading;\r\n a.wireframe = this.wireframe;\r\n a.wireframeLinewidth = this.wireframeLinewidth;\r\n a.wireframeLinecap = this.wireframeLinecap;\r\n a.wireframeLinejoin = this.wireframeLinejoin;\r\n a.vertexColors = this.vertexColors;\r\n a.skinning = this.skinning;\r\n a.morphTargets = this.morphTargets;\r\n return a;\r\n};\r\nTHREE.MeshLambertMaterial = function(a) {\r\n THREE.Material.call(this);\r\n this.color = new THREE.Color(16777215);\r\n this.ambient = new THREE.Color(16777215);\r\n this.emissive = new THREE.Color(0);\r\n this.wrapAround = !1;\r\n this.wrapRGB = new THREE.Vector3(1, 1, 1);\r\n this.envMap = this.specularMap = this.lightMap = this.map = null;\r\n this.combine = THREE.MultiplyOperation;\r\n this.reflectivity = 1;\r\n this.refractionRatio = 0.98;\r\n this.fog = !0;\r\n this.shading = THREE.SmoothShading;\r\n this.wireframe = !1;\r\n this.wireframeLinewidth = 1;\r\n this.wireframeLinejoin = this.wireframeLinecap = \"round\";\r\n this.vertexColors = THREE.NoColors;\r\n this.morphNormals = this.morphTargets = this.skinning = !1;\r\n this.setValues(a);\r\n};\r\nTHREE.MeshLambertMaterial.prototype = Object.create(THREE.Material.prototype);\r\nTHREE.MeshLambertMaterial.prototype.clone = function() {\r\n var a = new THREE.MeshLambertMaterial();\r\n THREE.Material.prototype.clone.call(this, a);\r\n a.color.copy(this.color);\r\n a.ambient.copy(this.ambient);\r\n a.emissive.copy(this.emissive);\r\n a.wrapAround = this.wrapAround;\r\n a.wrapRGB.copy(this.wrapRGB);\r\n a.map = this.map;\r\n a.lightMap = this.lightMap;\r\n a.specularMap = this.specularMap;\r\n a.envMap = this.envMap;\r\n a.combine = this.combine;\r\n a.reflectivity = this.reflectivity;\r\n a.refractionRatio = this.refractionRatio;\r\n a.fog = this.fog;\r\n a.shading = this.shading;\r\n a.wireframe = this.wireframe;\r\n a.wireframeLinewidth = this.wireframeLinewidth;\r\n a.wireframeLinecap = this.wireframeLinecap;\r\n a.wireframeLinejoin = this.wireframeLinejoin;\r\n a.vertexColors = this.vertexColors;\r\n a.skinning = this.skinning;\r\n a.morphTargets = this.morphTargets;\r\n a.morphNormals = this.morphNormals;\r\n return a;\r\n};\r\nTHREE.MeshPhongMaterial = function(a) {\r\n THREE.Material.call(this);\r\n this.color = new THREE.Color(16777215);\r\n this.ambient = new THREE.Color(16777215);\r\n this.emissive = new THREE.Color(0);\r\n this.specular = new THREE.Color(1118481);\r\n this.shininess = 30;\r\n this.metal = !1;\r\n this.perPixel = !0;\r\n this.wrapAround = !1;\r\n this.wrapRGB = new THREE.Vector3(1, 1, 1);\r\n this.bumpMap = this.lightMap = this.map = null;\r\n this.bumpScale = 1;\r\n this.normalMap = null;\r\n this.normalScale = new THREE.Vector2(1, 1);\r\n this.envMap = this.specularMap = null;\r\n this.combine = THREE.MultiplyOperation;\r\n this.reflectivity = 1;\r\n this.refractionRatio = 0.98;\r\n this.fog = !0;\r\n this.shading = THREE.SmoothShading;\r\n this.wireframe = !1;\r\n this.wireframeLinewidth = 1;\r\n this.wireframeLinejoin = this.wireframeLinecap = \"round\";\r\n this.vertexColors = THREE.NoColors;\r\n this.morphNormals = this.morphTargets = this.skinning = !1;\r\n this.setValues(a);\r\n};\r\nTHREE.MeshPhongMaterial.prototype = Object.create(THREE.Material.prototype);\r\nTHREE.MeshPhongMaterial.prototype.clone = function() {\r\n var a = new THREE.MeshPhongMaterial();\r\n THREE.Material.prototype.clone.call(this, a);\r\n a.color.copy(this.color);\r\n a.ambient.copy(this.ambient);\r\n a.emissive.copy(this.emissive);\r\n a.specular.copy(this.specular);\r\n a.shininess = this.shininess;\r\n a.metal = this.metal;\r\n a.perPixel = this.perPixel;\r\n a.wrapAround = this.wrapAround;\r\n a.wrapRGB.copy(this.wrapRGB);\r\n a.map = this.map;\r\n a.lightMap = this.lightMap;\r\n a.bumpMap = this.bumpMap;\r\n a.bumpScale = this.bumpScale;\r\n a.normalMap = this.normalMap;\r\n a.normalScale.copy(this.normalScale);\r\n a.specularMap = this.specularMap;\r\n a.envMap = this.envMap;\r\n a.combine = this.combine;\r\n a.reflectivity = this.reflectivity;\r\n a.refractionRatio = this.refractionRatio;\r\n a.fog = this.fog;\r\n a.shading = this.shading;\r\n a.wireframe = this.wireframe;\r\n a.wireframeLinewidth = this.wireframeLinewidth;\r\n a.wireframeLinecap = this.wireframeLinecap;\r\n a.wireframeLinejoin = this.wireframeLinejoin;\r\n a.vertexColors = this.vertexColors;\r\n a.skinning = this.skinning;\r\n a.morphTargets = this.morphTargets;\r\n a.morphNormals = this.morphNormals;\r\n return a;\r\n};\r\nTHREE.MeshDepthMaterial = function(a) {\r\n THREE.Material.call(this);\r\n this.wireframe = !1;\r\n this.wireframeLinewidth = 1;\r\n this.setValues(a);\r\n};\r\nTHREE.MeshDepthMaterial.prototype = Object.create(THREE.Material.prototype);\r\nTHREE.MeshDepthMaterial.prototype.clone = function() {\r\n var a = new THREE.LineBasicMaterial();\r\n THREE.Material.prototype.clone.call(this, a);\r\n a.wireframe = this.wireframe;\r\n a.wireframeLinewidth = this.wireframeLinewidth;\r\n return a;\r\n};\r\nTHREE.MeshNormalMaterial = function(a) {\r\n THREE.Material.call(this, a);\r\n this.shading = THREE.FlatShading;\r\n this.wireframe = !1;\r\n this.wireframeLinewidth = 1;\r\n this.setValues(a);\r\n};\r\nTHREE.MeshNormalMaterial.prototype = Object.create(THREE.Material.prototype);\r\nTHREE.MeshNormalMaterial.prototype.clone = function() {\r\n var a = new THREE.MeshNormalMaterial();\r\n THREE.Material.prototype.clone.call(this, a);\r\n a.shading = this.shading;\r\n a.wireframe = this.wireframe;\r\n a.wireframeLinewidth = this.wireframeLinewidth;\r\n return a;\r\n};\r\nTHREE.MeshFaceMaterial = function(a) {\r\n this.materials = a instanceof Array ? a : [];\r\n};\r\nTHREE.MeshFaceMaterial.prototype.clone = function() {\r\n return new THREE.MeshFaceMaterial(this.materials.slice(0));\r\n};\r\nTHREE.ParticleBasicMaterial = function(a) {\r\n THREE.Material.call(this);\r\n this.color = new THREE.Color(16777215);\r\n this.map = null;\r\n this.size = 1;\r\n this.sizeAttenuation = !0;\r\n this.vertexColors = !1;\r\n this.fog = !0;\r\n this.setValues(a);\r\n};\r\nTHREE.ParticleBasicMaterial.prototype = Object.create(THREE.Material.prototype);\r\nTHREE.ParticleBasicMaterial.prototype.clone = function() {\r\n var a = new THREE.ParticleBasicMaterial();\r\n THREE.Material.prototype.clone.call(this, a);\r\n a.color.copy(this.color);\r\n a.map = this.map;\r\n a.size = this.size;\r\n a.sizeAttenuation = this.sizeAttenuation;\r\n a.vertexColors = this.vertexColors;\r\n a.fog = this.fog;\r\n return a;\r\n};\r\nTHREE.ParticleCanvasMaterial = function(a) {\r\n THREE.Material.call(this);\r\n this.color = new THREE.Color(16777215);\r\n this.program = function() {};\r\n this.setValues(a);\r\n};\r\nTHREE.ParticleCanvasMaterial.prototype = Object.create(\r\n THREE.Material.prototype\r\n);\r\nTHREE.ParticleCanvasMaterial.prototype.clone = function() {\r\n var a = new THREE.ParticleCanvasMaterial();\r\n THREE.Material.prototype.clone.call(this, a);\r\n a.color.copy(this.color);\r\n a.program = this.program;\r\n return a;\r\n};\r\nTHREE.ShaderMaterial = function(a) {\r\n THREE.Material.call(this);\r\n this.vertexShader = this.fragmentShader = \"void main() {}\";\r\n this.uniforms = {};\r\n this.defines = {};\r\n this.attributes = null;\r\n this.shading = THREE.SmoothShading;\r\n this.wireframe = !1;\r\n this.wireframeLinewidth = 1;\r\n this.lights = this.fog = !1;\r\n this.vertexColors = THREE.NoColors;\r\n this.morphNormals = this.morphTargets = this.skinning = !1;\r\n this.setValues(a);\r\n};\r\nTHREE.ShaderMaterial.prototype = Object.create(THREE.Material.prototype);\r\nTHREE.ShaderMaterial.prototype.clone = function() {\r\n var a = new THREE.ShaderMaterial();\r\n THREE.Material.prototype.clone.call(this, a);\r\n a.fragmentShader = this.fragmentShader;\r\n a.vertexShader = this.vertexShader;\r\n a.uniforms = THREE.UniformsUtils.clone(this.uniforms);\r\n a.attributes = this.attributes;\r\n a.defines = this.defines;\r\n a.shading = this.shading;\r\n a.wireframe = this.wireframe;\r\n a.wireframeLinewidth = this.wireframeLinewidth;\r\n a.fog = this.fog;\r\n a.lights = this.lights;\r\n a.vertexColors = this.vertexColors;\r\n a.skinning = this.skinning;\r\n a.morphTargets = this.morphTargets;\r\n a.morphNormals = this.morphNormals;\r\n return a;\r\n};\r\nTHREE.SpriteMaterial = function(a) {\r\n THREE.Material.call(this);\r\n this.color = new THREE.Color(16777215);\r\n this.map = new THREE.Texture();\r\n this.useScreenCoordinates = !0;\r\n this.depthTest = !this.useScreenCoordinates;\r\n this.sizeAttenuation = !this.useScreenCoordinates;\r\n this.scaleByViewport = !this.sizeAttenuation;\r\n this.alignment = THREE.SpriteAlignment.center.clone();\r\n this.fog = !1;\r\n this.uvOffset = new THREE.Vector2(0, 0);\r\n this.uvScale = new THREE.Vector2(1, 1);\r\n this.setValues(a);\r\n a = a || {};\r\n void 0 === a.depthTest && (this.depthTest = !this.useScreenCoordinates);\r\n void 0 === a.sizeAttenuation &&\r\n (this.sizeAttenuation = !this.useScreenCoordinates);\r\n void 0 === a.scaleByViewport &&\r\n (this.scaleByViewport = !this.sizeAttenuation);\r\n};\r\nTHREE.SpriteMaterial.prototype = Object.create(THREE.Material.prototype);\r\nTHREE.SpriteMaterial.prototype.clone = function() {\r\n var a = new THREE.SpriteMaterial();\r\n THREE.Material.prototype.clone.call(this, a);\r\n a.color.copy(this.color);\r\n a.map = this.map;\r\n a.useScreenCoordinates = this.useScreenCoordinates;\r\n a.sizeAttenuation = this.sizeAttenuation;\r\n a.scaleByViewport = this.scaleByViewport;\r\n a.alignment.copy(this.alignment);\r\n a.uvOffset.copy(this.uvOffset);\r\n a.uvScale.copy(this.uvScale);\r\n a.fog = this.fog;\r\n return a;\r\n};\r\nTHREE.SpriteAlignment = {};\r\nTHREE.SpriteAlignment.topLeft = new THREE.Vector2(1, -1);\r\nTHREE.SpriteAlignment.topCenter = new THREE.Vector2(0, -1);\r\nTHREE.SpriteAlignment.topRight = new THREE.Vector2(-1, -1);\r\nTHREE.SpriteAlignment.centerLeft = new THREE.Vector2(1, 0);\r\nTHREE.SpriteAlignment.center = new THREE.Vector2(0, 0);\r\nTHREE.SpriteAlignment.centerRight = new THREE.Vector2(-1, 0);\r\nTHREE.SpriteAlignment.bottomLeft = new THREE.Vector2(1, 1);\r\nTHREE.SpriteAlignment.bottomCenter = new THREE.Vector2(0, 1);\r\nTHREE.SpriteAlignment.bottomRight = new THREE.Vector2(-1, 1);\r\nTHREE.Texture = function(a, b, c, d, e, f, g, h, i) {\r\n THREE.EventDispatcher.call(this);\r\n this.id = THREE.TextureIdCount++;\r\n this.name = \"\";\r\n this.image = a;\r\n this.mipmaps = [];\r\n this.mapping = void 0 !== b ? b : new THREE.UVMapping();\r\n this.wrapS = void 0 !== c ? c : THREE.ClampToEdgeWrapping;\r\n this.wrapT = void 0 !== d ? d : THREE.ClampToEdgeWrapping;\r\n this.magFilter = void 0 !== e ? e : THREE.LinearFilter;\r\n this.minFilter = void 0 !== f ? f : THREE.LinearMipMapLinearFilter;\r\n this.anisotropy = void 0 !== i ? i : 1;\r\n this.format = void 0 !== g ? g : THREE.RGBAFormat;\r\n this.type = void 0 !== h ? h : THREE.UnsignedByteType;\r\n this.offset = new THREE.Vector2(0, 0);\r\n this.repeat = new THREE.Vector2(1, 1);\r\n this.generateMipmaps = !0;\r\n this.premultiplyAlpha = !1;\r\n this.flipY = !0;\r\n this.unpackAlignment = 4;\r\n this.needsUpdate = !1;\r\n this.onUpdate = null;\r\n};\r\nTHREE.Texture.prototype = {\r\n constructor: THREE.Texture,\r\n clone: function(a) {\r\n void 0 === a && (a = new THREE.Texture());\r\n a.image = this.image;\r\n a.mipmaps = this.mipmaps.slice(0);\r\n a.mapping = this.mapping;\r\n a.wrapS = this.wrapS;\r\n a.wrapT = this.wrapT;\r\n a.magFilter = this.magFilter;\r\n a.minFilter = this.minFilter;\r\n a.anisotropy = this.anisotropy;\r\n a.format = this.format;\r\n a.type = this.type;\r\n a.offset.copy(this.offset);\r\n a.repeat.copy(this.repeat);\r\n a.generateMipmaps = this.generateMipmaps;\r\n a.premultiplyAlpha = this.premultiplyAlpha;\r\n a.flipY = this.flipY;\r\n a.unpackAlignment = this.unpackAlignment;\r\n return a;\r\n },\r\n dispose: function() {\r\n this.dispatchEvent({ type: \"dispose\" });\r\n }\r\n};\r\nTHREE.TextureIdCount = 0;\r\nTHREE.CompressedTexture = function(a, b, c, d, e, f, g, h, i, k, l) {\r\n THREE.Texture.call(this, null, f, g, h, i, k, d, e, l);\r\n this.image = { width: b, height: c };\r\n this.mipmaps = a;\r\n this.generateMipmaps = !1;\r\n};\r\nTHREE.CompressedTexture.prototype = Object.create(THREE.Texture.prototype);\r\nTHREE.CompressedTexture.prototype.clone = function() {\r\n var a = new THREE.CompressedTexture();\r\n THREE.Texture.prototype.clone.call(this, a);\r\n return a;\r\n};\r\nTHREE.DataTexture = function(a, b, c, d, e, f, g, h, i, k, l) {\r\n THREE.Texture.call(this, null, f, g, h, i, k, d, e, l);\r\n this.image = { data: a, width: b, height: c };\r\n};\r\nTHREE.DataTexture.prototype = Object.create(THREE.Texture.prototype);\r\nTHREE.DataTexture.prototype.clone = function() {\r\n var a = new THREE.DataTexture();\r\n THREE.Texture.prototype.clone.call(this, a);\r\n return a;\r\n};\r\nTHREE.Particle = function(a) {\r\n THREE.Object3D.call(this);\r\n this.material = a;\r\n};\r\nTHREE.Particle.prototype = Object.create(THREE.Object3D.prototype);\r\nTHREE.Particle.prototype.clone = function(a) {\r\n void 0 === a && (a = new THREE.Particle(this.material));\r\n THREE.Object3D.prototype.clone.call(this, a);\r\n return a;\r\n};\r\nTHREE.ParticleSystem = function(a, b) {\r\n THREE.Object3D.call(this);\r\n this.geometry = a;\r\n this.material =\r\n void 0 !== b\r\n ? b\r\n : new THREE.ParticleBasicMaterial({ color: 16777215 * Math.random() });\r\n this.sortParticles = !1;\r\n this.geometry &&\r\n null === this.geometry.boundingSphere &&\r\n this.geometry.computeBoundingSphere();\r\n this.frustumCulled = !1;\r\n};\r\nTHREE.ParticleSystem.prototype = Object.create(THREE.Object3D.prototype);\r\nTHREE.ParticleSystem.prototype.clone = function(a) {\r\n void 0 === a && (a = new THREE.ParticleSystem(this.geometry, this.material));\r\n a.sortParticles = this.sortParticles;\r\n THREE.Object3D.prototype.clone.call(this, a);\r\n return a;\r\n};\r\nTHREE.Line = function(a, b, c) {\r\n THREE.Object3D.call(this);\r\n this.geometry = a;\r\n this.material =\r\n void 0 !== b\r\n ? b\r\n : new THREE.LineBasicMaterial({ color: 16777215 * Math.random() });\r\n this.type = void 0 !== c ? c : THREE.LineStrip;\r\n this.geometry &&\r\n (this.geometry.boundingSphere || this.geometry.computeBoundingSphere());\r\n};\r\nTHREE.LineStrip = 0;\r\nTHREE.LinePieces = 1;\r\nTHREE.Line.prototype = Object.create(THREE.Object3D.prototype);\r\nTHREE.Line.prototype.clone = function(a) {\r\n void 0 === a && (a = new THREE.Line(this.geometry, this.material, this.type));\r\n THREE.Object3D.prototype.clone.call(this, a);\r\n return a;\r\n};\r\nTHREE.Mesh = function(a, b) {\r\n THREE.Object3D.call(this);\r\n this.geometry = a;\r\n this.material =\r\n void 0 !== b\r\n ? b\r\n : new THREE.MeshBasicMaterial({\r\n color: 16777215 * Math.random(),\r\n wireframe: !0\r\n });\r\n void 0 !== this.geometry &&\r\n (null === this.geometry.boundingSphere &&\r\n this.geometry.computeBoundingSphere(),\r\n this.updateMorphTargets());\r\n};\r\nTHREE.Mesh.prototype = Object.create(THREE.Object3D.prototype);\r\nTHREE.Mesh.prototype.updateMorphTargets = function() {\r\n if (0 < this.geometry.morphTargets.length) {\r\n this.morphTargetBase = -1;\r\n this.morphTargetForcedOrder = [];\r\n this.morphTargetInfluences = [];\r\n this.morphTargetDictionary = {};\r\n for (var a = 0, b = this.geometry.morphTargets.length; a < b; a++)\r\n this.morphTargetInfluences.push(0),\r\n (this.morphTargetDictionary[this.geometry.morphTargets[a].name] = a);\r\n }\r\n};\r\nTHREE.Mesh.prototype.getMorphTargetIndexByName = function(a) {\r\n if (void 0 !== this.morphTargetDictionary[a])\r\n return this.morphTargetDictionary[a];\r\n console.log(\r\n \"THREE.Mesh.getMorphTargetIndexByName: morph target \" +\r\n a +\r\n \" does not exist. Returning 0.\"\r\n );\r\n return 0;\r\n};\r\nTHREE.Mesh.prototype.clone = function(a) {\r\n void 0 === a && (a = new THREE.Mesh(this.geometry, this.material));\r\n THREE.Object3D.prototype.clone.call(this, a);\r\n return a;\r\n};\r\nTHREE.Bone = function(a) {\r\n THREE.Object3D.call(this);\r\n this.skin = a;\r\n this.skinMatrix = new THREE.Matrix4();\r\n};\r\nTHREE.Bone.prototype = Object.create(THREE.Object3D.prototype);\r\nTHREE.Bone.prototype.update = function(a, b) {\r\n this.matrixAutoUpdate && (b |= this.updateMatrix());\r\n if (b || this.matrixWorldNeedsUpdate)\r\n a\r\n ? this.skinMatrix.multiplyMatrices(a, this.matrix)\r\n : this.skinMatrix.copy(this.matrix),\r\n (this.matrixWorldNeedsUpdate = !1),\r\n (b = !0);\r\n var c,\r\n d = this.children.length;\r\n for (c = 0; c < d; c++) this.children[c].update(this.skinMatrix, b);\r\n};\r\nTHREE.SkinnedMesh = function(a, b, c) {\r\n THREE.Mesh.call(this, a, b);\r\n this.useVertexTexture = void 0 !== c ? c : !0;\r\n this.identityMatrix = new THREE.Matrix4();\r\n this.bones = [];\r\n this.boneMatrices = [];\r\n var d, e, f;\r\n if (this.geometry && void 0 !== this.geometry.bones) {\r\n for (a = 0; a < this.geometry.bones.length; a++)\r\n (c = this.geometry.bones[a]),\r\n (d = c.pos),\r\n (e = c.rotq),\r\n (f = c.scl),\r\n (b = this.addBone()),\r\n (b.name = c.name),\r\n b.position.set(d[0], d[1], d[2]),\r\n b.quaternion.set(e[0], e[1], e[2], e[3]),\r\n (b.useQuaternion = !0),\r\n void 0 !== f ? b.scale.set(f[0], f[1], f[2]) : b.scale.set(1, 1, 1);\r\n for (a = 0; a < this.bones.length; a++)\r\n (c = this.geometry.bones[a]),\r\n (b = this.bones[a]),\r\n -1 === c.parent ? this.add(b) : this.bones[c.parent].add(b);\r\n a = this.bones.length;\r\n this.useVertexTexture\r\n ? ((this.boneTextureHeight = this.boneTextureWidth = a =\r\n 256 < a ? 64 : 64 < a ? 32 : 16 < a ? 16 : 8),\r\n (this.boneMatrices = new Float32Array(\r\n 4 * this.boneTextureWidth * this.boneTextureHeight\r\n )),\r\n (this.boneTexture = new THREE.DataTexture(\r\n this.boneMatrices,\r\n this.boneTextureWidth,\r\n this.boneTextureHeight,\r\n THREE.RGBAFormat,\r\n THREE.FloatType\r\n )),\r\n (this.boneTexture.minFilter = THREE.NearestFilter),\r\n (this.boneTexture.magFilter = THREE.NearestFilter),\r\n (this.boneTexture.generateMipmaps = !1),\r\n (this.boneTexture.flipY = !1))\r\n : (this.boneMatrices = new Float32Array(16 * a));\r\n this.pose();\r\n }\r\n};\r\nTHREE.SkinnedMesh.prototype = Object.create(THREE.Mesh.prototype);\r\nTHREE.SkinnedMesh.prototype.addBone = function(a) {\r\n void 0 === a && (a = new THREE.Bone(this));\r\n this.bones.push(a);\r\n return a;\r\n};\r\nTHREE.SkinnedMesh.prototype.updateMatrixWorld = function(a) {\r\n this.matrixAutoUpdate && this.updateMatrix();\r\n if (this.matrixWorldNeedsUpdate || a)\r\n this.parent\r\n ? this.matrixWorld.multiplyMatrices(this.parent.matrixWorld, this.matrix)\r\n : this.matrixWorld.copy(this.matrix),\r\n (this.matrixWorldNeedsUpdate = !1);\r\n for (var a = 0, b = this.children.length; a < b; a++) {\r\n var c = this.children[a];\r\n c instanceof THREE.Bone\r\n ? c.update(this.identityMatrix, !1)\r\n : c.updateMatrixWorld(!0);\r\n }\r\n if (void 0 == this.boneInverses) {\r\n this.boneInverses = [];\r\n a = 0;\r\n for (b = this.bones.length; a < b; a++)\r\n (c = new THREE.Matrix4()),\r\n c.getInverse(this.bones[a].skinMatrix),\r\n this.boneInverses.push(c);\r\n }\r\n a = 0;\r\n for (b = this.bones.length; a < b; a++)\r\n THREE.SkinnedMesh.offsetMatrix.multiplyMatrices(\r\n this.bones[a].skinMatrix,\r\n this.boneInverses[a]\r\n ),\r\n THREE.SkinnedMesh.offsetMatrix.flattenToArrayOffset(\r\n this.boneMatrices,\r\n 16 * a\r\n );\r\n this.useVertexTexture && (this.boneTexture.needsUpdate = !0);\r\n};\r\nTHREE.SkinnedMesh.prototype.pose = function() {\r\n this.updateMatrixWorld(!0);\r\n for (var a = 0; a < this.geometry.skinIndices.length; a++) {\r\n var b = this.geometry.skinWeights[a],\r\n c = 1 / b.lengthManhattan();\r\n Infinity !== c ? b.multiplyScalar(c) : b.set(1);\r\n }\r\n};\r\nTHREE.SkinnedMesh.prototype.clone = function(a) {\r\n void 0 === a &&\r\n (a = new THREE.SkinnedMesh(\r\n this.geometry,\r\n this.material,\r\n this.useVertexTexture\r\n ));\r\n THREE.Mesh.prototype.clone.call(this, a);\r\n return a;\r\n};\r\nTHREE.SkinnedMesh.offsetMatrix = new THREE.Matrix4();\r\nTHREE.MorphAnimMesh = function(a, b) {\r\n THREE.Mesh.call(this, a, b);\r\n this.duration = 1e3;\r\n this.mirroredLoop = !1;\r\n this.currentKeyframe = this.lastKeyframe = this.time = 0;\r\n this.direction = 1;\r\n this.directionBackwards = !1;\r\n this.setFrameRange(0, this.geometry.morphTargets.length - 1);\r\n};\r\nTHREE.MorphAnimMesh.prototype = Object.create(THREE.Mesh.prototype);\r\nTHREE.MorphAnimMesh.prototype.setFrameRange = function(a, b) {\r\n this.startKeyframe = a;\r\n this.endKeyframe = b;\r\n this.length = this.endKeyframe - this.startKeyframe + 1;\r\n};\r\nTHREE.MorphAnimMesh.prototype.setDirectionForward = function() {\r\n this.direction = 1;\r\n this.directionBackwards = !1;\r\n};\r\nTHREE.MorphAnimMesh.prototype.setDirectionBackward = function() {\r\n this.direction = -1;\r\n this.directionBackwards = !0;\r\n};\r\nTHREE.MorphAnimMesh.prototype.parseAnimations = function() {\r\n var a = this.geometry;\r\n a.animations || (a.animations = {});\r\n for (\r\n var b,\r\n c = a.animations,\r\n d = /([a-z]+)(\\d+)/,\r\n e = 0,\r\n f = a.morphTargets.length;\r\n e < f;\r\n e++\r\n ) {\r\n var g = a.morphTargets[e].name.match(d);\r\n if (g && 1 < g.length) {\r\n g = g[1];\r\n c[g] || (c[g] = { start: Infinity, end: -Infinity });\r\n var h = c[g];\r\n e < h.start && (h.start = e);\r\n e > h.end && (h.end = e);\r\n b || (b = g);\r\n }\r\n }\r\n a.firstAnimation = b;\r\n};\r\nTHREE.MorphAnimMesh.prototype.setAnimationLabel = function(a, b, c) {\r\n this.geometry.animations || (this.geometry.animations = {});\r\n this.geometry.animations[a] = { start: b, end: c };\r\n};\r\nTHREE.MorphAnimMesh.prototype.playAnimation = function(a, b) {\r\n var c = this.geometry.animations[a];\r\n c\r\n ? (this.setFrameRange(c.start, c.end),\r\n (this.duration = 1e3 * ((c.end - c.start) / b)),\r\n (this.time = 0))\r\n : console.warn(\"animation[\" + a + \"] undefined\");\r\n};\r\nTHREE.MorphAnimMesh.prototype.updateAnimation = function(a) {\r\n var b = this.duration / this.length;\r\n this.time += this.direction * a;\r\n if (this.mirroredLoop) {\r\n if (this.time > this.duration || 0 > this.time)\r\n (this.direction *= -1),\r\n this.time > this.duration &&\r\n ((this.time = this.duration), (this.directionBackwards = !0)),\r\n 0 > this.time && ((this.time = 0), (this.directionBackwards = !1));\r\n } else\r\n (this.time %= this.duration), 0 > this.time && (this.time += this.duration);\r\n a =\r\n this.startKeyframe +\r\n THREE.Math.clamp(Math.floor(this.time / b), 0, this.length - 1);\r\n a !== this.currentKeyframe &&\r\n ((this.morphTargetInfluences[this.lastKeyframe] = 0),\r\n (this.morphTargetInfluences[this.currentKeyframe] = 1),\r\n (this.morphTargetInfluences[a] = 0),\r\n (this.lastKeyframe = this.currentKeyframe),\r\n (this.currentKeyframe = a));\r\n b = (this.time % b) / b;\r\n this.directionBackwards && (b = 1 - b);\r\n this.morphTargetInfluences[this.currentKeyframe] = b;\r\n this.morphTargetInfluences[this.lastKeyframe] = 1 - b;\r\n};\r\nTHREE.MorphAnimMesh.prototype.clone = function(a) {\r\n void 0 === a && (a = new THREE.MorphAnimMesh(this.geometry, this.material));\r\n a.duration = this.duration;\r\n a.mirroredLoop = this.mirroredLoop;\r\n a.time = this.time;\r\n a.lastKeyframe = this.lastKeyframe;\r\n a.currentKeyframe = this.currentKeyframe;\r\n a.direction = this.direction;\r\n a.directionBackwards = this.directionBackwards;\r\n THREE.Mesh.prototype.clone.call(this, a);\r\n return a;\r\n};\r\nTHREE.Ribbon = function(a, b) {\r\n THREE.Object3D.call(this);\r\n this.geometry = a;\r\n this.material = b;\r\n};\r\nTHREE.Ribbon.prototype = Object.create(THREE.Object3D.prototype);\r\nTHREE.Ribbon.prototype.clone = function(a) {\r\n void 0 === a && (a = new THREE.Ribbon(this.geometry, this.material));\r\n THREE.Object3D.prototype.clone.call(this, a);\r\n return a;\r\n};\r\nTHREE.LOD = function() {\r\n THREE.Object3D.call(this);\r\n this.LODs = [];\r\n};\r\nTHREE.LOD.prototype = Object.create(THREE.Object3D.prototype);\r\nTHREE.LOD.prototype.addLevel = function(a, b) {\r\n void 0 === b && (b = 0);\r\n for (\r\n var b = Math.abs(b), c = 0;\r\n c < this.LODs.length && !(b < this.LODs[c].visibleAtDistance);\r\n c++\r\n );\r\n this.LODs.splice(c, 0, { visibleAtDistance: b, object3D: a });\r\n this.add(a);\r\n};\r\nTHREE.LOD.prototype.update = function(a) {\r\n if (1 < this.LODs.length) {\r\n a.matrixWorldInverse.getInverse(a.matrixWorld);\r\n a = a.matrixWorldInverse;\r\n a = -(\r\n a.elements[2] * this.matrixWorld.elements[12] +\r\n a.elements[6] * this.matrixWorld.elements[13] +\r\n a.elements[10] * this.matrixWorld.elements[14] +\r\n a.elements[14]\r\n );\r\n this.LODs[0].object3D.visible = !0;\r\n for (var b = 1; b < this.LODs.length; b++)\r\n if (a >= this.LODs[b].visibleAtDistance)\r\n (this.LODs[b - 1].object3D.visible = !1),\r\n (this.LODs[b].object3D.visible = !0);\r\n else break;\r\n for (; b < this.LODs.length; b++) this.LODs[b].object3D.visible = !1;\r\n }\r\n};\r\nTHREE.LOD.prototype.clone = function() {};\r\nTHREE.Sprite = function(a) {\r\n THREE.Object3D.call(this);\r\n this.material = void 0 !== a ? a : new THREE.SpriteMaterial();\r\n this.rotation3d = this.rotation;\r\n this.rotation = 0;\r\n};\r\nTHREE.Sprite.prototype = Object.create(THREE.Object3D.prototype);\r\nTHREE.Sprite.prototype.updateMatrix = function() {\r\n this.matrix.setPosition(this.position);\r\n this.rotation3d.set(0, 0, this.rotation);\r\n this.matrix.setRotationFromEuler(this.rotation3d);\r\n (1 !== this.scale.x || 1 !== this.scale.y) && this.matrix.scale(this.scale);\r\n this.matrixWorldNeedsUpdate = !0;\r\n};\r\nTHREE.Sprite.prototype.clone = function(a) {\r\n void 0 === a && (a = new THREE.Sprite(this.material));\r\n THREE.Object3D.prototype.clone.call(this, a);\r\n return a;\r\n};\r\nTHREE.Scene = function() {\r\n THREE.Object3D.call(this);\r\n this.overrideMaterial = this.fog = null;\r\n this.matrixAutoUpdate = !1;\r\n this.__objects = [];\r\n this.__lights = [];\r\n this.__objectsAdded = [];\r\n this.__objectsRemoved = [];\r\n};\r\nTHREE.Scene.prototype = Object.create(THREE.Object3D.prototype);\r\nTHREE.Scene.prototype.__addObject = function(a) {\r\n if (a instanceof THREE.Light)\r\n -1 === this.__lights.indexOf(a) && this.__lights.push(a),\r\n a.target && void 0 === a.target.parent && this.add(a.target);\r\n else if (\r\n !(a instanceof THREE.Camera || a instanceof THREE.Bone) &&\r\n -1 === this.__objects.indexOf(a)\r\n ) {\r\n this.__objects.push(a);\r\n this.__objectsAdded.push(a);\r\n var b = this.__objectsRemoved.indexOf(a);\r\n -1 !== b && this.__objectsRemoved.splice(b, 1);\r\n }\r\n for (b = 0; b < a.children.length; b++) this.__addObject(a.children[b]);\r\n};\r\nTHREE.Scene.prototype.__removeObject = function(a) {\r\n if (a instanceof THREE.Light) {\r\n var b = this.__lights.indexOf(a);\r\n -1 !== b && this.__lights.splice(b, 1);\r\n } else\r\n a instanceof THREE.Camera ||\r\n ((b = this.__objects.indexOf(a)),\r\n -1 !== b &&\r\n (this.__objects.splice(b, 1),\r\n this.__objectsRemoved.push(a),\r\n (b = this.__objectsAdded.indexOf(a)),\r\n -1 !== b && this.__objectsAdded.splice(b, 1)));\r\n for (b = 0; b < a.children.length; b++) this.__removeObject(a.children[b]);\r\n};\r\nTHREE.Fog = function(a, b, c) {\r\n this.name = \"\";\r\n this.color = new THREE.Color(a);\r\n this.near = void 0 !== b ? b : 1;\r\n this.far = void 0 !== c ? c : 1e3;\r\n};\r\nTHREE.Fog.prototype.clone = function() {\r\n return new THREE.Fog(this.color.getHex(), this.near, this.far);\r\n};\r\nTHREE.FogExp2 = function(a, b) {\r\n this.name = \"\";\r\n this.color = new THREE.Color(a);\r\n this.density = void 0 !== b ? b : 2.5e-4;\r\n};\r\nTHREE.FogExp2.prototype.clone = function() {\r\n return new THREE.FogExp2(this.color.getHex(), this.density);\r\n};\r\nTHREE.CanvasRenderer = function(a) {\r\n function b(a) {\r\n C !== a && (C = t.globalAlpha = a);\r\n }\r\n function c(a) {\r\n x !== a &&\r\n (a === THREE.NormalBlending\r\n ? (t.globalCompositeOperation = \"source-over\")\r\n : a === THREE.AdditiveBlending\r\n ? (t.globalCompositeOperation = \"lighter\")\r\n : a === THREE.SubtractiveBlending &&\r\n (t.globalCompositeOperation = \"darker\"),\r\n (x = a));\r\n }\r\n function d(a) {\r\n E !== a && (E = t.lineWidth = a);\r\n }\r\n function e(a) {\r\n H !== a && (H = t.lineCap = a);\r\n }\r\n function f(a) {\r\n B !== a && (B = t.lineJoin = a);\r\n }\r\n function g(a) {\r\n G !== a && (G = t.strokeStyle = a);\r\n }\r\n function h(a) {\r\n J !== a && (J = t.fillStyle = a);\r\n }\r\n function i(a, b) {\r\n if (W !== a || F !== b) t.setLineDash([a, b]), (W = a), (F = b);\r\n }\r\n console.log(\"THREE.CanvasRenderer\", THREE.REVISION);\r\n var k = THREE.Math.smoothstep,\r\n a = a || {},\r\n l = this,\r\n m,\r\n n,\r\n s,\r\n r = new THREE.Projector(),\r\n p = void 0 !== a.canvas ? a.canvas : document.createElement(\"canvas\"),\r\n q,\r\n y,\r\n v,\r\n z,\r\n t = p.getContext(\"2d\"),\r\n A = new THREE.Color(0),\r\n I = 0,\r\n C = 1,\r\n x = 0,\r\n G = null,\r\n J = null,\r\n E = null,\r\n H = null,\r\n B = null,\r\n W = null,\r\n F = 0,\r\n K,\r\n L,\r\n U,\r\n fa,\r\n Ca = new THREE.RenderableVertex(),\r\n $a = new THREE.RenderableVertex(),\r\n M,\r\n ca,\r\n qa,\r\n ha,\r\n ra,\r\n N,\r\n Ma,\r\n Na,\r\n mb,\r\n Pa,\r\n ta,\r\n ka,\r\n aa = new THREE.Color(),\r\n pa = new THREE.Color(),\r\n Y = new THREE.Color(),\r\n da = new THREE.Color(),\r\n la = new THREE.Color(),\r\n Z = new THREE.Color(),\r\n oa = new THREE.Color(),\r\n gb = new THREE.Color(),\r\n nb = {},\r\n ia = {},\r\n Wa,\r\n ab,\r\n Fa,\r\n Xa,\r\n ub,\r\n Ib,\r\n Jb,\r\n fc,\r\n Ab,\r\n mc,\r\n pb = new THREE.Box2(),\r\n Ka = new THREE.Box2(),\r\n Va = new THREE.Box2(),\r\n gc = !1,\r\n vb = new THREE.Color(),\r\n Qa = new THREE.Color(),\r\n La = new THREE.Color(),\r\n bb = new THREE.Vector3(),\r\n xb,\r\n j,\r\n yb,\r\n Ra,\r\n cb,\r\n Sa,\r\n zb = 16;\r\n xb = document.createElement(\"canvas\");\r\n xb.width = xb.height = 2;\r\n j = xb.getContext(\"2d\");\r\n j.fillStyle = \"rgba(0,0,0,1)\";\r\n j.fillRect(0, 0, 2, 2);\r\n yb = j.getImageData(0, 0, 2, 2);\r\n Ra = yb.data;\r\n cb = document.createElement(\"canvas\");\r\n cb.width = cb.height = zb;\r\n Sa = cb.getContext(\"2d\");\r\n Sa.translate(-zb / 2, -zb / 2);\r\n Sa.scale(zb, zb);\r\n zb--;\r\n void 0 === t.setLineDash &&\r\n (t.setLineDash =\r\n void 0 !== t.mozDash\r\n ? function(a) {\r\n t.mozDash = null !== a[0] ? a : null;\r\n }\r\n : function() {});\r\n this.domElement = p;\r\n this.devicePixelRatio =\r\n void 0 !== a.devicePixelRatio\r\n ? a.devicePixelRatio\r\n : void 0 !== window.devicePixelRatio\r\n ? window.devicePixelRatio\r\n : 1;\r\n this.sortElements = this.sortObjects = this.autoClear = !0;\r\n this.info = { render: { vertices: 0, faces: 0 } };\r\n this.supportsVertexTextures = function() {};\r\n this.setFaceCulling = function() {};\r\n this.setSize = function(a, b) {\r\n q = a * this.devicePixelRatio;\r\n y = b * this.devicePixelRatio;\r\n v = Math.floor(q / 2);\r\n z = Math.floor(y / 2);\r\n p.width = q;\r\n p.height = y;\r\n p.style.width = a + \"px\";\r\n p.style.height = b + \"px\";\r\n pb.set(new THREE.Vector2(-v, -z), new THREE.Vector2(v, z));\r\n Ka.set(new THREE.Vector2(-v, -z), new THREE.Vector2(v, z));\r\n C = 1;\r\n x = 0;\r\n B = H = E = J = G = null;\r\n };\r\n this.setClearColor = function(a, b) {\r\n A.copy(a);\r\n I = void 0 !== b ? b : 1;\r\n Ka.set(new THREE.Vector2(-v, -z), new THREE.Vector2(v, z));\r\n };\r\n this.setClearColorHex = function(a, b) {\r\n A.setHex(a);\r\n I = void 0 !== b ? b : 1;\r\n Ka.set(new THREE.Vector2(-v, -z), new THREE.Vector2(v, z));\r\n };\r\n this.getMaxAnisotropy = function() {\r\n return 0;\r\n };\r\n this.clear = function() {\r\n t.setTransform(1, 0, 0, -1, v, z);\r\n !1 === Ka.empty() &&\r\n (Ka.intersect(pb),\r\n Ka.expandByScalar(2),\r\n 1 > I &&\r\n t.clearRect(\r\n Ka.min.x | 0,\r\n Ka.min.y | 0,\r\n (Ka.max.x - Ka.min.x) | 0,\r\n (Ka.max.y - Ka.min.y) | 0\r\n ),\r\n 0 < I &&\r\n (c(THREE.NormalBlending),\r\n b(1),\r\n h(\r\n \"rgba(\" +\r\n Math.floor(255 * A.r) +\r\n \",\" +\r\n Math.floor(255 * A.g) +\r\n \",\" +\r\n Math.floor(255 * A.b) +\r\n \",\" +\r\n I +\r\n \")\"\r\n ),\r\n t.fillRect(\r\n Ka.min.x | 0,\r\n Ka.min.y | 0,\r\n (Ka.max.x - Ka.min.x) | 0,\r\n (Ka.max.y - Ka.min.y) | 0\r\n )),\r\n Ka.makeEmpty());\r\n };\r\n this.render = function(a, p) {\r\n function q(a, b, c) {\r\n for (var d = 0, e = s.length; d < e; d++) {\r\n var f = s[d];\r\n gb.copy(f.color);\r\n if (f instanceof THREE.DirectionalLight) {\r\n var g = bb.getPositionFromMatrix(f.matrixWorld).normalize(),\r\n j = b.dot(g);\r\n 0 >= j || ((j *= f.intensity), c.add(gb.multiplyScalar(j)));\r\n } else\r\n f instanceof THREE.PointLight &&\r\n ((g = bb.getPositionFromMatrix(f.matrixWorld)),\r\n (j = b.dot(bb.subVectors(g, a).normalize())),\r\n 0 >= j ||\r\n ((j *=\r\n 0 == f.distance\r\n ? 1\r\n : 1 - Math.min(a.distanceTo(g) / f.distance, 1)),\r\n 0 != j && ((j *= f.intensity), c.add(gb.multiplyScalar(j)))));\r\n }\r\n }\r\n function x(a, d, e, f, g, j, h, i) {\r\n l.info.render.vertices += 3;\r\n l.info.render.faces++;\r\n b(i.opacity);\r\n c(i.blending);\r\n M = a.positionScreen.x;\r\n ca = a.positionScreen.y;\r\n qa = d.positionScreen.x;\r\n ha = d.positionScreen.y;\r\n ra = e.positionScreen.x;\r\n N = e.positionScreen.y;\r\n y(M, ca, qa, ha, ra, N);\r\n (i instanceof THREE.MeshLambertMaterial ||\r\n i instanceof THREE.MeshPhongMaterial) &&\r\n null === i.map\r\n ? (Z.copy(i.color),\r\n oa.copy(i.emissive),\r\n i.vertexColors === THREE.FaceColors && Z.multiply(h.color),\r\n !0 === gc\r\n ? !1 === i.wireframe &&\r\n i.shading == THREE.SmoothShading &&\r\n 3 == h.vertexNormalsLength\r\n ? (pa.copy(vb),\r\n Y.copy(vb),\r\n da.copy(vb),\r\n q(h.v1.positionWorld, h.vertexNormalsModel[0], pa),\r\n q(h.v2.positionWorld, h.vertexNormalsModel[1], Y),\r\n q(h.v3.positionWorld, h.vertexNormalsModel[2], da),\r\n pa.multiply(Z).add(oa),\r\n Y.multiply(Z).add(oa),\r\n da.multiply(Z).add(oa),\r\n la.addColors(Y, da).multiplyScalar(0.5),\r\n (Fa = E(pa, Y, da, la)),\r\n G(M, ca, qa, ha, ra, N, 0, 0, 1, 0, 0, 1, Fa))\r\n : (aa.copy(vb),\r\n q(h.centroidModel, h.normalModel, aa),\r\n aa.multiply(Z).add(oa),\r\n !0 === i.wireframe\r\n ? C(\r\n aa,\r\n i.wireframeLinewidth,\r\n i.wireframeLinecap,\r\n i.wireframeLinejoin\r\n )\r\n : A(aa))\r\n : !0 === i.wireframe\r\n ? C(\r\n i.color,\r\n i.wireframeLinewidth,\r\n i.wireframeLinecap,\r\n i.wireframeLinejoin\r\n )\r\n : A(i.color))\r\n : i instanceof THREE.MeshBasicMaterial ||\r\n i instanceof THREE.MeshLambertMaterial ||\r\n i instanceof THREE.MeshPhongMaterial\r\n ? null !== i.map\r\n ? i.map.mapping instanceof THREE.UVMapping &&\r\n ((Xa = h.uvs[0]),\r\n F(\r\n M,\r\n ca,\r\n qa,\r\n ha,\r\n ra,\r\n N,\r\n Xa[f].x,\r\n Xa[f].y,\r\n Xa[g].x,\r\n Xa[g].y,\r\n Xa[j].x,\r\n Xa[j].y,\r\n i.map\r\n ))\r\n : null !== i.envMap\r\n ? i.envMap.mapping instanceof THREE.SphericalReflectionMapping &&\r\n (bb.copy(h.vertexNormalsModelView[f]),\r\n (ub = 0.5 * bb.x + 0.5),\r\n (Ib = 0.5 * bb.y + 0.5),\r\n bb.copy(h.vertexNormalsModelView[g]),\r\n (Jb = 0.5 * bb.x + 0.5),\r\n (fc = 0.5 * bb.y + 0.5),\r\n bb.copy(h.vertexNormalsModelView[j]),\r\n (Ab = 0.5 * bb.x + 0.5),\r\n (mc = 0.5 * bb.y + 0.5),\r\n F(M, ca, qa, ha, ra, N, ub, Ib, Jb, fc, Ab, mc, i.envMap))\r\n : (aa.copy(i.color),\r\n i.vertexColors === THREE.FaceColors && aa.multiply(h.color),\r\n !0 === i.wireframe\r\n ? C(\r\n aa,\r\n i.wireframeLinewidth,\r\n i.wireframeLinecap,\r\n i.wireframeLinejoin\r\n )\r\n : A(aa))\r\n : i instanceof THREE.MeshDepthMaterial\r\n ? ((Wa = p.near),\r\n (ab = p.far),\r\n (pa.r = pa.g = pa.b =\r\n 1 - k(a.positionScreen.z * a.positionScreen.w, Wa, ab)),\r\n (Y.r = Y.g = Y.b =\r\n 1 - k(d.positionScreen.z * d.positionScreen.w, Wa, ab)),\r\n (da.r = da.g = da.b =\r\n 1 - k(e.positionScreen.z * e.positionScreen.w, Wa, ab)),\r\n la.addColors(Y, da).multiplyScalar(0.5),\r\n (Fa = E(pa, Y, da, la)),\r\n G(M, ca, qa, ha, ra, N, 0, 0, 1, 0, 0, 1, Fa))\r\n : i instanceof THREE.MeshNormalMaterial &&\r\n (i.shading == THREE.FlatShading\r\n ? ((a = h.normalModelView),\r\n aa\r\n .setRGB(a.x, a.y, a.z)\r\n .multiplyScalar(0.5)\r\n .addScalar(0.5),\r\n !0 === i.wireframe\r\n ? C(\r\n aa,\r\n i.wireframeLinewidth,\r\n i.wireframeLinecap,\r\n i.wireframeLinejoin\r\n )\r\n : A(aa))\r\n : i.shading == THREE.SmoothShading &&\r\n ((a = h.vertexNormalsModelView[f]),\r\n pa\r\n .setRGB(a.x, a.y, a.z)\r\n .multiplyScalar(0.5)\r\n .addScalar(0.5),\r\n (a = h.vertexNormalsModelView[g]),\r\n Y.setRGB(a.x, a.y, a.z)\r\n .multiplyScalar(0.5)\r\n .addScalar(0.5),\r\n (a = h.vertexNormalsModelView[j]),\r\n da\r\n .setRGB(a.x, a.y, a.z)\r\n .multiplyScalar(0.5)\r\n .addScalar(0.5),\r\n la.addColors(Y, da).multiplyScalar(0.5),\r\n (Fa = E(pa, Y, da, la)),\r\n G(M, ca, qa, ha, ra, N, 0, 0, 1, 0, 0, 1, Fa)));\r\n }\r\n function y(a, b, c, d, e, f) {\r\n t.beginPath();\r\n t.moveTo(a, b);\r\n t.lineTo(c, d);\r\n t.lineTo(e, f);\r\n t.closePath();\r\n }\r\n function B(a, b, c, d, e, f, g, j) {\r\n t.beginPath();\r\n t.moveTo(a, b);\r\n t.lineTo(c, d);\r\n t.lineTo(e, f);\r\n t.lineTo(g, j);\r\n t.closePath();\r\n }\r\n function C(a, b, c, j) {\r\n d(b);\r\n e(c);\r\n f(j);\r\n g(a.getStyle());\r\n t.stroke();\r\n Va.expandByScalar(2 * b);\r\n }\r\n function A(a) {\r\n h(a.getStyle());\r\n t.fill();\r\n }\r\n function F(a, b, c, d, e, f, g, j, i, wa, k, l, n) {\r\n if (\r\n !(\r\n n instanceof THREE.DataTexture ||\r\n void 0 === n.image ||\r\n 0 == n.image.width\r\n )\r\n ) {\r\n if (!0 === n.needsUpdate) {\r\n var m = n.wrapS == THREE.RepeatWrapping,\r\n hb = n.wrapT == THREE.RepeatWrapping;\r\n nb[n.id] = t.createPattern(\r\n n.image,\r\n !0 === m && !0 === hb\r\n ? \"repeat\"\r\n : !0 === m && !1 === hb\r\n ? \"repeat-x\"\r\n : !1 === m && !0 === hb\r\n ? \"repeat-y\"\r\n : \"no-repeat\"\r\n );\r\n n.needsUpdate = !1;\r\n }\r\n void 0 === nb[n.id] ? h(\"rgba(0,0,0,1)\") : h(nb[n.id]);\r\n var m = n.offset.x / n.repeat.x,\r\n hb = n.offset.y / n.repeat.y,\r\n p = n.image.width * n.repeat.x,\r\n q = n.image.height * n.repeat.y,\r\n g = (g + m) * p,\r\n j = (1 - j + hb) * q,\r\n c = c - a,\r\n d = d - b,\r\n e = e - a,\r\n f = f - b,\r\n i = (i + m) * p - g,\r\n wa = (1 - wa + hb) * q - j,\r\n k = (k + m) * p - g,\r\n l = (1 - l + hb) * q - j,\r\n m = i * l - k * wa;\r\n 0 === m\r\n ? (void 0 === ia[n.id] &&\r\n ((b = document.createElement(\"canvas\")),\r\n (b.width = n.image.width),\r\n (b.height = n.image.height),\r\n (b = b.getContext(\"2d\")),\r\n b.drawImage(n.image, 0, 0),\r\n (ia[n.id] = b.getImageData(\r\n 0,\r\n 0,\r\n n.image.width,\r\n n.image.height\r\n ).data)),\r\n (b = ia[n.id]),\r\n (g = 4 * (Math.floor(g) + Math.floor(j) * n.image.width)),\r\n aa.setRGB(b[g] / 255, b[g + 1] / 255, b[g + 2] / 255),\r\n A(aa))\r\n : ((m = 1 / m),\r\n (n = (l * c - wa * e) * m),\r\n (wa = (l * d - wa * f) * m),\r\n (c = (i * e - k * c) * m),\r\n (d = (i * f - k * d) * m),\r\n (a = a - n * g - c * j),\r\n (g = b - wa * g - d * j),\r\n t.save(),\r\n t.transform(n, wa, c, d, a, g),\r\n t.fill(),\r\n t.restore());\r\n }\r\n }\r\n function G(a, b, c, d, e, f, g, j, i, h, wa, k, n) {\r\n var l, m;\r\n l = n.width - 1;\r\n m = n.height - 1;\r\n g *= l;\r\n j *= m;\r\n c -= a;\r\n d -= b;\r\n e -= a;\r\n f -= b;\r\n i = i * l - g;\r\n h = h * m - j;\r\n wa = wa * l - g;\r\n k = k * m - j;\r\n m = 1 / (i * k - wa * h);\r\n l = (k * c - h * e) * m;\r\n h = (k * d - h * f) * m;\r\n c = (i * e - wa * c) * m;\r\n d = (i * f - wa * d) * m;\r\n a = a - l * g - c * j;\r\n b = b - h * g - d * j;\r\n t.save();\r\n t.transform(l, h, c, d, a, b);\r\n t.clip();\r\n t.drawImage(n, 0, 0);\r\n t.restore();\r\n }\r\n function E(a, b, c, d) {\r\n Ra[0] = (255 * a.r) | 0;\r\n Ra[1] = (255 * a.g) | 0;\r\n Ra[2] = (255 * a.b) | 0;\r\n Ra[4] = (255 * b.r) | 0;\r\n Ra[5] = (255 * b.g) | 0;\r\n Ra[6] = (255 * b.b) | 0;\r\n Ra[8] = (255 * c.r) | 0;\r\n Ra[9] = (255 * c.g) | 0;\r\n Ra[10] = (255 * c.b) | 0;\r\n Ra[12] = (255 * d.r) | 0;\r\n Ra[13] = (255 * d.g) | 0;\r\n Ra[14] = (255 * d.b) | 0;\r\n j.putImageData(yb, 0, 0);\r\n Sa.drawImage(xb, 0, 0);\r\n return cb;\r\n }\r\n function I(a, b) {\r\n var c = b.x - a.x,\r\n d = b.y - a.y,\r\n e = c * c + d * d;\r\n 0 !== e &&\r\n ((e = 1 / Math.sqrt(e)),\r\n (c *= e),\r\n (d *= e),\r\n (b.x += c),\r\n (b.y += d),\r\n (a.x -= c),\r\n (a.y -= d));\r\n }\r\n if (!1 === p instanceof THREE.Camera)\r\n console.error(\r\n \"THREE.CanvasRenderer.render: camera is not an instance of THREE.Camera.\"\r\n );\r\n else {\r\n !0 === this.autoClear && this.clear();\r\n t.setTransform(1, 0, 0, -1, v, z);\r\n l.info.render.vertices = 0;\r\n l.info.render.faces = 0;\r\n m = r.projectScene(a, p, this.sortObjects, this.sortElements);\r\n n = m.elements;\r\n s = m.lights;\r\n gc = 0 < s.length;\r\n if (!0 === gc) {\r\n vb.setRGB(0, 0, 0);\r\n Qa.setRGB(0, 0, 0);\r\n La.setRGB(0, 0, 0);\r\n for (var J = 0, W = s.length; J < W; J++) {\r\n var P = s[J],\r\n X = P.color;\r\n P instanceof THREE.AmbientLight\r\n ? vb.add(X)\r\n : P instanceof THREE.DirectionalLight\r\n ? Qa.add(X)\r\n : P instanceof THREE.PointLight && La.add(X);\r\n }\r\n }\r\n J = 0;\r\n for (W = n.length; J < W; J++) {\r\n var H = n[J],\r\n P = H.material;\r\n if (!(void 0 === P || !1 === P.visible)) {\r\n Va.makeEmpty();\r\n if (H instanceof THREE.RenderableParticle) {\r\n K = H;\r\n K.x *= v;\r\n K.y *= z;\r\n var X = K,\r\n wa = H;\r\n b(P.opacity);\r\n c(P.blending);\r\n var Bb = void 0,\r\n hb = void 0,\r\n Cb = void 0,\r\n Db = void 0,\r\n md = (H = void 0),\r\n nd = void 0;\r\n P instanceof THREE.ParticleBasicMaterial\r\n ? null === P.map\r\n ? ((Cb = wa.object.scale.x),\r\n (Db = wa.object.scale.y),\r\n (Cb *= wa.scale.x * v),\r\n (Db *= wa.scale.y * z),\r\n Va.min.set(X.x - Cb, X.y - Db),\r\n Va.max.set(X.x + Cb, X.y + Db),\r\n !1 !== pb.isIntersectionBox(Va) &&\r\n (h(P.color.getStyle()),\r\n t.save(),\r\n t.translate(X.x, X.y),\r\n t.rotate(-wa.rotation),\r\n t.scale(Cb, Db),\r\n t.fillRect(-1, -1, 2, 2),\r\n t.restore()))\r\n : ((H = P.map.image),\r\n (md = H.width >> 1),\r\n (nd = H.height >> 1),\r\n (Cb = wa.scale.x * v),\r\n (Db = wa.scale.y * z),\r\n (Bb = Cb * md),\r\n (hb = Db * nd),\r\n Va.min.set(X.x - Bb, X.y - hb),\r\n Va.max.set(X.x + Bb, X.y + hb),\r\n !1 !== pb.isIntersectionBox(Va) &&\r\n (t.save(),\r\n t.translate(X.x, X.y),\r\n t.rotate(-wa.rotation),\r\n t.scale(Cb, -Db),\r\n t.translate(-md, -nd),\r\n t.drawImage(H, 0, 0),\r\n t.restore()))\r\n : P instanceof THREE.ParticleCanvasMaterial &&\r\n ((Bb = wa.scale.x * v),\r\n (hb = wa.scale.y * z),\r\n Va.min.set(X.x - Bb, X.y - hb),\r\n Va.max.set(X.x + Bb, X.y + hb),\r\n !1 !== pb.isIntersectionBox(Va) &&\r\n (g(P.color.getStyle()),\r\n h(P.color.getStyle()),\r\n t.save(),\r\n t.translate(X.x, X.y),\r\n t.rotate(-wa.rotation),\r\n t.scale(Bb, hb),\r\n P.program(t),\r\n t.restore()));\r\n } else if (H instanceof THREE.RenderableLine)\r\n (K = H.v1),\r\n (L = H.v2),\r\n (K.positionScreen.x *= v),\r\n (K.positionScreen.y *= z),\r\n (L.positionScreen.x *= v),\r\n (L.positionScreen.y *= z),\r\n Va.setFromPoints([K.positionScreen, L.positionScreen]),\r\n !0 === pb.isIntersectionBox(Va) &&\r\n ((X = K),\r\n (wa = L),\r\n b(P.opacity),\r\n c(P.blending),\r\n t.beginPath(),\r\n t.moveTo(X.positionScreen.x, X.positionScreen.y),\r\n t.lineTo(wa.positionScreen.x, wa.positionScreen.y),\r\n P instanceof THREE.LineBasicMaterial\r\n ? (d(P.linewidth),\r\n e(P.linecap),\r\n f(P.linejoin),\r\n g(P.color.getStyle()),\r\n i(null, null),\r\n t.stroke(),\r\n Va.expandByScalar(2 * P.linewidth))\r\n : P instanceof THREE.LineDashedMaterial &&\r\n (d(P.linewidth),\r\n e(P.linecap),\r\n f(P.linejoin),\r\n g(P.color.getStyle()),\r\n i(P.dashSize, P.gapSize),\r\n t.stroke(),\r\n Va.expandByScalar(2 * P.linewidth)));\r\n else if (H instanceof THREE.RenderableFace3) {\r\n K = H.v1;\r\n L = H.v2;\r\n U = H.v3;\r\n if (-1 > K.positionScreen.z || 1 < K.positionScreen.z) continue;\r\n if (-1 > L.positionScreen.z || 1 < L.positionScreen.z) continue;\r\n if (-1 > U.positionScreen.z || 1 < U.positionScreen.z) continue;\r\n K.positionScreen.x *= v;\r\n K.positionScreen.y *= z;\r\n L.positionScreen.x *= v;\r\n L.positionScreen.y *= z;\r\n U.positionScreen.x *= v;\r\n U.positionScreen.y *= z;\r\n !0 === P.overdraw &&\r\n (I(K.positionScreen, L.positionScreen),\r\n I(L.positionScreen, U.positionScreen),\r\n I(U.positionScreen, K.positionScreen));\r\n Va.setFromPoints([\r\n K.positionScreen,\r\n L.positionScreen,\r\n U.positionScreen\r\n ]);\r\n x(K, L, U, 0, 1, 2, H, P);\r\n } else if (H instanceof THREE.RenderableFace4) {\r\n K = H.v1;\r\n L = H.v2;\r\n U = H.v3;\r\n fa = H.v4;\r\n if (-1 > K.positionScreen.z || 1 < K.positionScreen.z) continue;\r\n if (-1 > L.positionScreen.z || 1 < L.positionScreen.z) continue;\r\n if (-1 > U.positionScreen.z || 1 < U.positionScreen.z) continue;\r\n if (-1 > fa.positionScreen.z || 1 < fa.positionScreen.z) continue;\r\n K.positionScreen.x *= v;\r\n K.positionScreen.y *= z;\r\n L.positionScreen.x *= v;\r\n L.positionScreen.y *= z;\r\n U.positionScreen.x *= v;\r\n U.positionScreen.y *= z;\r\n fa.positionScreen.x *= v;\r\n fa.positionScreen.y *= z;\r\n Ca.positionScreen.copy(L.positionScreen);\r\n $a.positionScreen.copy(fa.positionScreen);\r\n !0 === P.overdraw &&\r\n (I(K.positionScreen, L.positionScreen),\r\n I(L.positionScreen, fa.positionScreen),\r\n I(fa.positionScreen, K.positionScreen),\r\n I(U.positionScreen, Ca.positionScreen),\r\n I(U.positionScreen, $a.positionScreen));\r\n Va.setFromPoints([\r\n K.positionScreen,\r\n L.positionScreen,\r\n U.positionScreen,\r\n fa.positionScreen\r\n ]);\r\n X = K;\r\n wa = L;\r\n Bb = U;\r\n hb = fa;\r\n Cb = Ca;\r\n Db = $a;\r\n l.info.render.vertices += 4;\r\n l.info.render.faces++;\r\n b(P.opacity);\r\n c(P.blending);\r\n (void 0 !== P.map && null !== P.map) ||\r\n (void 0 !== P.envMap && null !== P.envMap)\r\n ? (x(X, wa, hb, 0, 1, 3, H, P), x(Cb, Bb, Db, 1, 2, 3, H, P))\r\n : ((M = X.positionScreen.x),\r\n (ca = X.positionScreen.y),\r\n (qa = wa.positionScreen.x),\r\n (ha = wa.positionScreen.y),\r\n (ra = Bb.positionScreen.x),\r\n (N = Bb.positionScreen.y),\r\n (Ma = hb.positionScreen.x),\r\n (Na = hb.positionScreen.y),\r\n (mb = Cb.positionScreen.x),\r\n (Pa = Cb.positionScreen.y),\r\n (ta = Db.positionScreen.x),\r\n (ka = Db.positionScreen.y),\r\n P instanceof THREE.MeshLambertMaterial ||\r\n P instanceof THREE.MeshPhongMaterial\r\n ? (Z.copy(P.color),\r\n oa.copy(P.emissive),\r\n P.vertexColors === THREE.FaceColors && Z.multiply(H.color),\r\n !0 === gc\r\n ? !1 === P.wireframe &&\r\n P.shading == THREE.SmoothShading &&\r\n 4 == H.vertexNormalsLength\r\n ? (pa.copy(vb),\r\n Y.copy(vb),\r\n da.copy(vb),\r\n la.copy(vb),\r\n q(H.v1.positionWorld, H.vertexNormalsModel[0], pa),\r\n q(H.v2.positionWorld, H.vertexNormalsModel[1], Y),\r\n q(H.v4.positionWorld, H.vertexNormalsModel[3], da),\r\n q(H.v3.positionWorld, H.vertexNormalsModel[2], la),\r\n pa.multiply(Z).add(oa),\r\n Y.multiply(Z).add(oa),\r\n da.multiply(Z).add(oa),\r\n la.multiply(Z).add(oa),\r\n (Fa = E(pa, Y, da, la)),\r\n y(M, ca, qa, ha, Ma, Na),\r\n G(M, ca, qa, ha, Ma, Na, 0, 0, 1, 0, 0, 1, Fa),\r\n y(mb, Pa, ra, N, ta, ka),\r\n G(mb, Pa, ra, N, ta, ka, 1, 0, 1, 1, 0, 1, Fa))\r\n : (aa.copy(vb),\r\n q(H.centroidModel, H.normalModel, aa),\r\n aa.multiply(Z).add(oa),\r\n B(M, ca, qa, ha, ra, N, Ma, Na),\r\n !0 === P.wireframe\r\n ? C(\r\n aa,\r\n P.wireframeLinewidth,\r\n P.wireframeLinecap,\r\n P.wireframeLinejoin\r\n )\r\n : A(aa))\r\n : (aa.addColors(Z, oa),\r\n B(M, ca, qa, ha, ra, N, Ma, Na),\r\n !0 === P.wireframe\r\n ? C(\r\n aa,\r\n P.wireframeLinewidth,\r\n P.wireframeLinecap,\r\n P.wireframeLinejoin\r\n )\r\n : A(aa)))\r\n : P instanceof THREE.MeshBasicMaterial\r\n ? (aa.copy(P.color),\r\n P.vertexColors === THREE.FaceColors && aa.multiply(H.color),\r\n B(M, ca, qa, ha, ra, N, Ma, Na),\r\n !0 === P.wireframe\r\n ? C(\r\n aa,\r\n P.wireframeLinewidth,\r\n P.wireframeLinecap,\r\n P.wireframeLinejoin\r\n )\r\n : A(aa))\r\n : P instanceof THREE.MeshNormalMaterial\r\n ? ((X = void 0),\r\n P.shading == THREE.FlatShading\r\n ? ((X = H.normalModelView),\r\n aa\r\n .setRGB(X.x, X.y, X.z)\r\n .multiplyScalar(0.5)\r\n .addScalar(0.5),\r\n B(M, ca, qa, ha, ra, N, Ma, Na),\r\n !0 === P.wireframe\r\n ? C(\r\n aa,\r\n P.wireframeLinewidth,\r\n P.wireframeLinecap,\r\n P.wireframeLinejoin\r\n )\r\n : A(aa))\r\n : P.shading == THREE.SmoothShading &&\r\n ((X = H.vertexNormalsModelView[0]),\r\n pa\r\n .setRGB(X.x, X.y, X.z)\r\n .multiplyScalar(0.5)\r\n .addScalar(0.5),\r\n (X = H.vertexNormalsModelView[1]),\r\n Y.setRGB(X.x, X.y, X.z)\r\n .multiplyScalar(0.5)\r\n .addScalar(0.5),\r\n (X = H.vertexNormalsModelView[3]),\r\n da\r\n .setRGB(X.x, X.y, X.z)\r\n .multiplyScalar(0.5)\r\n .addScalar(0.5),\r\n (X = H.vertexNormalsModelView[2]),\r\n la\r\n .setRGB(X.x, X.y, X.z)\r\n .multiplyScalar(0.5)\r\n .addScalar(0.5),\r\n (Fa = E(pa, Y, da, la)),\r\n y(M, ca, qa, ha, Ma, Na),\r\n G(M, ca, qa, ha, Ma, Na, 0, 0, 1, 0, 0, 1, Fa),\r\n y(mb, Pa, ra, N, ta, ka),\r\n G(mb, Pa, ra, N, ta, ka, 1, 0, 1, 1, 0, 1, Fa)))\r\n : P instanceof THREE.MeshDepthMaterial &&\r\n ((Wa = p.near),\r\n (ab = p.far),\r\n (pa.r = pa.g = pa.b =\r\n 1 - k(X.positionScreen.z * X.positionScreen.w, Wa, ab)),\r\n (Y.r = Y.g = Y.b =\r\n 1 - k(wa.positionScreen.z * wa.positionScreen.w, Wa, ab)),\r\n (da.r = da.g = da.b =\r\n 1 - k(hb.positionScreen.z * hb.positionScreen.w, Wa, ab)),\r\n (la.r = la.g = la.b =\r\n 1 - k(Bb.positionScreen.z * Bb.positionScreen.w, Wa, ab)),\r\n (Fa = E(pa, Y, da, la)),\r\n y(M, ca, qa, ha, Ma, Na),\r\n G(M, ca, qa, ha, Ma, Na, 0, 0, 1, 0, 0, 1, Fa),\r\n y(mb, Pa, ra, N, ta, ka),\r\n G(mb, Pa, ra, N, ta, ka, 1, 0, 1, 1, 0, 1, Fa)));\r\n }\r\n Ka.union(Va);\r\n }\r\n }\r\n t.setTransform(1, 0, 0, 1, 0, 0);\r\n }\r\n };\r\n};\r\nTHREE.ShaderChunk = {\r\n fog_pars_fragment:\r\n \"#ifdef USE_FOG\\nuniform vec3 fogColor;\\n#ifdef FOG_EXP2\\nuniform float fogDensity;\\n#else\\nuniform float fogNear;\\nuniform float fogFar;\\n#endif\\n#endif\",\r\n fog_fragment:\r\n \"#ifdef USE_FOG\\nfloat depth = gl_FragCoord.z / gl_FragCoord.w;\\n#ifdef FOG_EXP2\\nconst float LOG2 = 1.442695;\\nfloat fogFactor = exp2( - fogDensity * fogDensity * depth * depth * LOG2 );\\nfogFactor = 1.0 - clamp( fogFactor, 0.0, 1.0 );\\n#else\\nfloat fogFactor = smoothstep( fogNear, fogFar, depth );\\n#endif\\ngl_FragColor = mix( gl_FragColor, vec4( fogColor, gl_FragColor.w ), fogFactor );\\n#endif\",\r\n envmap_pars_fragment:\r\n \"#ifdef USE_ENVMAP\\nuniform float reflectivity;\\nuniform samplerCube envMap;\\nuniform float flipEnvMap;\\nuniform int combine;\\n#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP )\\nuniform bool useRefract;\\nuniform float refractionRatio;\\n#else\\nvarying vec3 vReflect;\\n#endif\\n#endif\",\r\n envmap_fragment:\r\n \"#ifdef USE_ENVMAP\\nvec3 reflectVec;\\n#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP )\\nvec3 cameraToVertex = normalize( vWorldPosition - cameraPosition );\\nif ( useRefract ) {\\nreflectVec = refract( cameraToVertex, normal, refractionRatio );\\n} else { \\nreflectVec = reflect( cameraToVertex, normal );\\n}\\n#else\\nreflectVec = vReflect;\\n#endif\\n#ifdef DOUBLE_SIDED\\nfloat flipNormal = ( -1.0 + 2.0 * float( gl_FrontFacing ) );\\nvec4 cubeColor = textureCube( envMap, flipNormal * vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );\\n#else\\nvec4 cubeColor = textureCube( envMap, vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );\\n#endif\\n#ifdef GAMMA_INPUT\\ncubeColor.xyz *= cubeColor.xyz;\\n#endif\\nif ( combine == 1 ) {\\ngl_FragColor.xyz = mix( gl_FragColor.xyz, cubeColor.xyz, specularStrength * reflectivity );\\n} else if ( combine == 2 ) {\\ngl_FragColor.xyz += cubeColor.xyz * specularStrength * reflectivity;\\n} else {\\ngl_FragColor.xyz = mix( gl_FragColor.xyz, gl_FragColor.xyz * cubeColor.xyz, specularStrength * reflectivity );\\n}\\n#endif\",\r\n envmap_pars_vertex:\r\n \"#if defined( USE_ENVMAP ) && ! defined( USE_BUMPMAP ) && ! defined( USE_NORMALMAP )\\nvarying vec3 vReflect;\\nuniform float refractionRatio;\\nuniform bool useRefract;\\n#endif\",\r\n worldpos_vertex:\r\n \"#if defined( USE_ENVMAP ) || defined( PHONG ) || defined( LAMBERT ) || defined ( USE_SHADOWMAP )\\n#ifdef USE_SKINNING\\nvec4 worldPosition = modelMatrix * skinned;\\n#endif\\n#if defined( USE_MORPHTARGETS ) && ! defined( USE_SKINNING )\\nvec4 worldPosition = modelMatrix * vec4( morphed, 1.0 );\\n#endif\\n#if ! defined( USE_MORPHTARGETS ) && ! defined( USE_SKINNING )\\nvec4 worldPosition = modelMatrix * vec4( position, 1.0 );\\n#endif\\n#endif\",\r\n envmap_vertex:\r\n \"#if defined( USE_ENVMAP ) && ! defined( USE_BUMPMAP ) && ! defined( USE_NORMALMAP )\\nvec3 worldNormal = mat3( modelMatrix[ 0 ].xyz, modelMatrix[ 1 ].xyz, modelMatrix[ 2 ].xyz ) * objectNormal;\\nworldNormal = normalize( worldNormal );\\nvec3 cameraToVertex = normalize( worldPosition.xyz - cameraPosition );\\nif ( useRefract ) {\\nvReflect = refract( cameraToVertex, worldNormal, refractionRatio );\\n} else {\\nvReflect = reflect( cameraToVertex, worldNormal );\\n}\\n#endif\",\r\n map_particle_pars_fragment: \"#ifdef USE_MAP\\nuniform sampler2D map;\\n#endif\",\r\n map_particle_fragment:\r\n \"#ifdef USE_MAP\\ngl_FragColor = gl_FragColor * texture2D( map, vec2( gl_PointCoord.x, 1.0 - gl_PointCoord.y ) );\\n#endif\",\r\n map_pars_vertex:\r\n \"#if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP )\\nvarying vec2 vUv;\\nuniform vec4 offsetRepeat;\\n#endif\",\r\n map_pars_fragment:\r\n \"#if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP )\\nvarying vec2 vUv;\\n#endif\\n#ifdef USE_MAP\\nuniform sampler2D map;\\n#endif\",\r\n map_vertex:\r\n \"#if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP )\\nvUv = uv * offsetRepeat.zw + offsetRepeat.xy;\\n#endif\",\r\n map_fragment:\r\n \"#ifdef USE_MAP\\nvec4 texelColor = texture2D( map, vUv );\\n#ifdef GAMMA_INPUT\\ntexelColor.xyz *= texelColor.xyz;\\n#endif\\ngl_FragColor = gl_FragColor * texelColor;\\n#endif\",\r\n lightmap_pars_fragment:\r\n \"#ifdef USE_LIGHTMAP\\nvarying vec2 vUv2;\\nuniform sampler2D lightMap;\\n#endif\",\r\n lightmap_pars_vertex: \"#ifdef USE_LIGHTMAP\\nvarying vec2 vUv2;\\n#endif\",\r\n lightmap_fragment:\r\n \"#ifdef USE_LIGHTMAP\\ngl_FragColor = gl_FragColor * texture2D( lightMap, vUv2 );\\n#endif\",\r\n lightmap_vertex: \"#ifdef USE_LIGHTMAP\\nvUv2 = uv2;\\n#endif\",\r\n bumpmap_pars_fragment:\r\n \"#ifdef USE_BUMPMAP\\nuniform sampler2D bumpMap;\\nuniform float bumpScale;\\nvec2 dHdxy_fwd() {\\nvec2 dSTdx = dFdx( vUv );\\nvec2 dSTdy = dFdy( vUv );\\nfloat Hll = bumpScale * texture2D( bumpMap, vUv ).x;\\nfloat dBx = bumpScale * texture2D( bumpMap, vUv + dSTdx ).x - Hll;\\nfloat dBy = bumpScale * texture2D( bumpMap, vUv + dSTdy ).x - Hll;\\nreturn vec2( dBx, dBy );\\n}\\nvec3 perturbNormalArb( vec3 surf_pos, vec3 surf_norm, vec2 dHdxy ) {\\nvec3 vSigmaX = dFdx( surf_pos );\\nvec3 vSigmaY = dFdy( surf_pos );\\nvec3 vN = surf_norm;\\nvec3 R1 = cross( vSigmaY, vN );\\nvec3 R2 = cross( vN, vSigmaX );\\nfloat fDet = dot( vSigmaX, R1 );\\nvec3 vGrad = sign( fDet ) * ( dHdxy.x * R1 + dHdxy.y * R2 );\\nreturn normalize( abs( fDet ) * surf_norm - vGrad );\\n}\\n#endif\",\r\n normalmap_pars_fragment:\r\n \"#ifdef USE_NORMALMAP\\nuniform sampler2D normalMap;\\nuniform vec2 normalScale;\\nvec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm ) {\\nvec3 q0 = dFdx( eye_pos.xyz );\\nvec3 q1 = dFdy( eye_pos.xyz );\\nvec2 st0 = dFdx( vUv.st );\\nvec2 st1 = dFdy( vUv.st );\\nvec3 S = normalize( q0 * st1.t - q1 * st0.t );\\nvec3 T = normalize( -q0 * st1.s + q1 * st0.s );\\nvec3 N = normalize( surf_norm );\\nvec3 mapN = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\\nmapN.xy = normalScale * mapN.xy;\\nmat3 tsn = mat3( S, T, N );\\nreturn normalize( tsn * mapN );\\n}\\n#endif\",\r\n specularmap_pars_fragment:\r\n \"#ifdef USE_SPECULARMAP\\nuniform sampler2D specularMap;\\n#endif\",\r\n specularmap_fragment:\r\n \"float specularStrength;\\n#ifdef USE_SPECULARMAP\\nvec4 texelSpecular = texture2D( specularMap, vUv );\\nspecularStrength = texelSpecular.r;\\n#else\\nspecularStrength = 1.0;\\n#endif\",\r\n lights_lambert_pars_vertex:\r\n \"uniform vec3 ambient;\\nuniform vec3 diffuse;\\nuniform vec3 emissive;\\nuniform vec3 ambientLightColor;\\n#if MAX_DIR_LIGHTS > 0\\nuniform vec3 directionalLightColor[ MAX_DIR_LIGHTS ];\\nuniform vec3 directionalLightDirection[ MAX_DIR_LIGHTS ];\\n#endif\\n#if MAX_HEMI_LIGHTS > 0\\nuniform vec3 hemisphereLightSkyColor[ MAX_HEMI_LIGHTS ];\\nuniform vec3 hemisphereLightGroundColor[ MAX_HEMI_LIGHTS ];\\nuniform vec3 hemisphereLightDirection[ MAX_HEMI_LIGHTS ];\\n#endif\\n#if MAX_POINT_LIGHTS > 0\\nuniform vec3 pointLightColor[ MAX_POINT_LIGHTS ];\\nuniform vec3 pointLightPosition[ MAX_POINT_LIGHTS ];\\nuniform float pointLightDistance[ MAX_POINT_LIGHTS ];\\n#endif\\n#if MAX_SPOT_LIGHTS > 0\\nuniform vec3 spotLightColor[ MAX_SPOT_LIGHTS ];\\nuniform vec3 spotLightPosition[ MAX_SPOT_LIGHTS ];\\nuniform vec3 spotLightDirection[ MAX_SPOT_LIGHTS ];\\nuniform float spotLightDistance[ MAX_SPOT_LIGHTS ];\\nuniform float spotLightAngleCos[ MAX_SPOT_LIGHTS ];\\nuniform float spotLightExponent[ MAX_SPOT_LIGHTS ];\\n#endif\\n#ifdef WRAP_AROUND\\nuniform vec3 wrapRGB;\\n#endif\",\r\n lights_lambert_vertex:\r\n \"vLightFront = vec3( 0.0 );\\n#ifdef DOUBLE_SIDED\\nvLightBack = vec3( 0.0 );\\n#endif\\ntransformedNormal = normalize( transformedNormal );\\n#if MAX_DIR_LIGHTS > 0\\nfor( int i = 0; i < MAX_DIR_LIGHTS; i ++ ) {\\nvec4 lDirection = viewMatrix * vec4( directionalLightDirection[ i ], 0.0 );\\nvec3 dirVector = normalize( lDirection.xyz );\\nfloat dotProduct = dot( transformedNormal, dirVector );\\nvec3 directionalLightWeighting = vec3( max( dotProduct, 0.0 ) );\\n#ifdef DOUBLE_SIDED\\nvec3 directionalLightWeightingBack = vec3( max( -dotProduct, 0.0 ) );\\n#ifdef WRAP_AROUND\\nvec3 directionalLightWeightingHalfBack = vec3( max( -0.5 * dotProduct + 0.5, 0.0 ) );\\n#endif\\n#endif\\n#ifdef WRAP_AROUND\\nvec3 directionalLightWeightingHalf = vec3( max( 0.5 * dotProduct + 0.5, 0.0 ) );\\ndirectionalLightWeighting = mix( directionalLightWeighting, directionalLightWeightingHalf, wrapRGB );\\n#ifdef DOUBLE_SIDED\\ndirectionalLightWeightingBack = mix( directionalLightWeightingBack, directionalLightWeightingHalfBack, wrapRGB );\\n#endif\\n#endif\\nvLightFront += directionalLightColor[ i ] * directionalLightWeighting;\\n#ifdef DOUBLE_SIDED\\nvLightBack += directionalLightColor[ i ] * directionalLightWeightingBack;\\n#endif\\n}\\n#endif\\n#if MAX_POINT_LIGHTS > 0\\nfor( int i = 0; i < MAX_POINT_LIGHTS; i ++ ) {\\nvec4 lPosition = viewMatrix * vec4( pointLightPosition[ i ], 1.0 );\\nvec3 lVector = lPosition.xyz - mvPosition.xyz;\\nfloat lDistance = 1.0;\\nif ( pointLightDistance[ i ] > 0.0 )\\nlDistance = 1.0 - min( ( length( lVector ) / pointLightDistance[ i ] ), 1.0 );\\nlVector = normalize( lVector );\\nfloat dotProduct = dot( transformedNormal, lVector );\\nvec3 pointLightWeighting = vec3( max( dotProduct, 0.0 ) );\\n#ifdef DOUBLE_SIDED\\nvec3 pointLightWeightingBack = vec3( max( -dotProduct, 0.0 ) );\\n#ifdef WRAP_AROUND\\nvec3 pointLightWeightingHalfBack = vec3( max( -0.5 * dotProduct + 0.5, 0.0 ) );\\n#endif\\n#endif\\n#ifdef WRAP_AROUND\\nvec3 pointLightWeightingHalf = vec3( max( 0.5 * dotProduct + 0.5, 0.0 ) );\\npointLightWeighting = mix( pointLightWeighting, pointLightWeightingHalf, wrapRGB );\\n#ifdef DOUBLE_SIDED\\npointLightWeightingBack = mix( pointLightWeightingBack, pointLightWeightingHalfBack, wrapRGB );\\n#endif\\n#endif\\nvLightFront += pointLightColor[ i ] * pointLightWeighting * lDistance;\\n#ifdef DOUBLE_SIDED\\nvLightBack += pointLightColor[ i ] * pointLightWeightingBack * lDistance;\\n#endif\\n}\\n#endif\\n#if MAX_SPOT_LIGHTS > 0\\nfor( int i = 0; i < MAX_SPOT_LIGHTS; i ++ ) {\\nvec4 lPosition = viewMatrix * vec4( spotLightPosition[ i ], 1.0 );\\nvec3 lVector = lPosition.xyz - mvPosition.xyz;\\nfloat spotEffect = dot( spotLightDirection[ i ], normalize( spotLightPosition[ i ] - worldPosition.xyz ) );\\nif ( spotEffect > spotLightAngleCos[ i ] ) {\\nspotEffect = max( pow( spotEffect, spotLightExponent[ i ] ), 0.0 );\\nfloat lDistance = 1.0;\\nif ( spotLightDistance[ i ] > 0.0 )\\nlDistance = 1.0 - min( ( length( lVector ) / spotLightDistance[ i ] ), 1.0 );\\nlVector = normalize( lVector );\\nfloat dotProduct = dot( transformedNormal, lVector );\\nvec3 spotLightWeighting = vec3( max( dotProduct, 0.0 ) );\\n#ifdef DOUBLE_SIDED\\nvec3 spotLightWeightingBack = vec3( max( -dotProduct, 0.0 ) );\\n#ifdef WRAP_AROUND\\nvec3 spotLightWeightingHalfBack = vec3( max( -0.5 * dotProduct + 0.5, 0.0 ) );\\n#endif\\n#endif\\n#ifdef WRAP_AROUND\\nvec3 spotLightWeightingHalf = vec3( max( 0.5 * dotProduct + 0.5, 0.0 ) );\\nspotLightWeighting = mix( spotLightWeighting, spotLightWeightingHalf, wrapRGB );\\n#ifdef DOUBLE_SIDED\\nspotLightWeightingBack = mix( spotLightWeightingBack, spotLightWeightingHalfBack, wrapRGB );\\n#endif\\n#endif\\nvLightFront += spotLightColor[ i ] * spotLightWeighting * lDistance * spotEffect;\\n#ifdef DOUBLE_SIDED\\nvLightBack += spotLightColor[ i ] * spotLightWeightingBack * lDistance * spotEffect;\\n#endif\\n}\\n}\\n#endif\\n#if MAX_HEMI_LIGHTS > 0\\nfor( int i = 0; i < MAX_HEMI_LIGHTS; i ++ ) {\\nvec4 lDirection = viewMatrix * vec4( hemisphereLightDirection[ i ], 0.0 );\\nvec3 lVector = normalize( lDirection.xyz );\\nfloat dotProduct = dot( transformedNormal, lVector );\\nfloat hemiDiffuseWeight = 0.5 * dotProduct + 0.5;\\nfloat hemiDiffuseWeightBack = -0.5 * dotProduct + 0.5;\\nvLightFront += mix( hemisphereLightGroundColor[ i ], hemisphereLightSkyColor[ i ], hemiDiffuseWeight );\\n#ifdef DOUBLE_SIDED\\nvLightBack += mix( hemisphereLightGroundColor[ i ], hemisphereLightSkyColor[ i ], hemiDiffuseWeightBack );\\n#endif\\n}\\n#endif\\nvLightFront = vLightFront * diffuse + ambient * ambientLightColor + emissive;\\n#ifdef DOUBLE_SIDED\\nvLightBack = vLightBack * diffuse + ambient * ambientLightColor + emissive;\\n#endif\",\r\n lights_phong_pars_vertex:\r\n \"#ifndef PHONG_PER_PIXEL\\n#if MAX_POINT_LIGHTS > 0\\nuniform vec3 pointLightPosition[ MAX_POINT_LIGHTS ];\\nuniform float pointLightDistance[ MAX_POINT_LIGHTS ];\\nvarying vec4 vPointLight[ MAX_POINT_LIGHTS ];\\n#endif\\n#if MAX_SPOT_LIGHTS > 0\\nuniform vec3 spotLightPosition[ MAX_SPOT_LIGHTS ];\\nuniform float spotLightDistance[ MAX_SPOT_LIGHTS ];\\nvarying vec4 vSpotLight[ MAX_SPOT_LIGHTS ];\\n#endif\\n#endif\\n#if MAX_SPOT_LIGHTS > 0 || defined( USE_BUMPMAP )\\nvarying vec3 vWorldPosition;\\n#endif\",\r\n lights_phong_vertex:\r\n \"#ifndef PHONG_PER_PIXEL\\n#if MAX_POINT_LIGHTS > 0\\nfor( int i = 0; i < MAX_POINT_LIGHTS; i ++ ) {\\nvec4 lPosition = viewMatrix * vec4( pointLightPosition[ i ], 1.0 );\\nvec3 lVector = lPosition.xyz - mvPosition.xyz;\\nfloat lDistance = 1.0;\\nif ( pointLightDistance[ i ] > 0.0 )\\nlDistance = 1.0 - min( ( length( lVector ) / pointLightDistance[ i ] ), 1.0 );\\nvPointLight[ i ] = vec4( lVector, lDistance );\\n}\\n#endif\\n#if MAX_SPOT_LIGHTS > 0\\nfor( int i = 0; i < MAX_SPOT_LIGHTS; i ++ ) {\\nvec4 lPosition = viewMatrix * vec4( spotLightPosition[ i ], 1.0 );\\nvec3 lVector = lPosition.xyz - mvPosition.xyz;\\nfloat lDistance = 1.0;\\nif ( spotLightDistance[ i ] > 0.0 )\\nlDistance = 1.0 - min( ( length( lVector ) / spotLightDistance[ i ] ), 1.0 );\\nvSpotLight[ i ] = vec4( lVector, lDistance );\\n}\\n#endif\\n#endif\\n#if MAX_SPOT_LIGHTS > 0 || defined( USE_BUMPMAP )\\nvWorldPosition = worldPosition.xyz;\\n#endif\",\r\n lights_phong_pars_fragment:\r\n \"uniform vec3 ambientLightColor;\\n#if MAX_DIR_LIGHTS > 0\\nuniform vec3 directionalLightColor[ MAX_DIR_LIGHTS ];\\nuniform vec3 directionalLightDirection[ MAX_DIR_LIGHTS ];\\n#endif\\n#if MAX_HEMI_LIGHTS > 0\\nuniform vec3 hemisphereLightSkyColor[ MAX_HEMI_LIGHTS ];\\nuniform vec3 hemisphereLightGroundColor[ MAX_HEMI_LIGHTS ];\\nuniform vec3 hemisphereLightDirection[ MAX_HEMI_LIGHTS ];\\n#endif\\n#if MAX_POINT_LIGHTS > 0\\nuniform vec3 pointLightColor[ MAX_POINT_LIGHTS ];\\n#ifdef PHONG_PER_PIXEL\\nuniform vec3 pointLightPosition[ MAX_POINT_LIGHTS ];\\nuniform float pointLightDistance[ MAX_POINT_LIGHTS ];\\n#else\\nvarying vec4 vPointLight[ MAX_POINT_LIGHTS ];\\n#endif\\n#endif\\n#if MAX_SPOT_LIGHTS > 0\\nuniform vec3 spotLightColor[ MAX_SPOT_LIGHTS ];\\nuniform vec3 spotLightPosition[ MAX_SPOT_LIGHTS ];\\nuniform vec3 spotLightDirection[ MAX_SPOT_LIGHTS ];\\nuniform float spotLightAngleCos[ MAX_SPOT_LIGHTS ];\\nuniform float spotLightExponent[ MAX_SPOT_LIGHTS ];\\n#ifdef PHONG_PER_PIXEL\\nuniform float spotLightDistance[ MAX_SPOT_LIGHTS ];\\n#else\\nvarying vec4 vSpotLight[ MAX_SPOT_LIGHTS ];\\n#endif\\n#endif\\n#if MAX_SPOT_LIGHTS > 0 || defined( USE_BUMPMAP )\\nvarying vec3 vWorldPosition;\\n#endif\\n#ifdef WRAP_AROUND\\nuniform vec3 wrapRGB;\\n#endif\\nvarying vec3 vViewPosition;\\nvarying vec3 vNormal;\",\r\n lights_phong_fragment:\r\n \"vec3 normal = normalize( vNormal );\\nvec3 viewPosition = normalize( vViewPosition );\\n#ifdef DOUBLE_SIDED\\nnormal = normal * ( -1.0 + 2.0 * float( gl_FrontFacing ) );\\n#endif\\n#ifdef USE_NORMALMAP\\nnormal = perturbNormal2Arb( -viewPosition, normal );\\n#elif defined( USE_BUMPMAP )\\nnormal = perturbNormalArb( -vViewPosition, normal, dHdxy_fwd() );\\n#endif\\n#if MAX_POINT_LIGHTS > 0\\nvec3 pointDiffuse = vec3( 0.0 );\\nvec3 pointSpecular = vec3( 0.0 );\\nfor ( int i = 0; i < MAX_POINT_LIGHTS; i ++ ) {\\n#ifdef PHONG_PER_PIXEL\\nvec4 lPosition = viewMatrix * vec4( pointLightPosition[ i ], 1.0 );\\nvec3 lVector = lPosition.xyz + vViewPosition.xyz;\\nfloat lDistance = 1.0;\\nif ( pointLightDistance[ i ] > 0.0 )\\nlDistance = 1.0 - min( ( length( lVector ) / pointLightDistance[ i ] ), 1.0 );\\nlVector = normalize( lVector );\\n#else\\nvec3 lVector = normalize( vPointLight[ i ].xyz );\\nfloat lDistance = vPointLight[ i ].w;\\n#endif\\nfloat dotProduct = dot( normal, lVector );\\n#ifdef WRAP_AROUND\\nfloat pointDiffuseWeightFull = max( dotProduct, 0.0 );\\nfloat pointDiffuseWeightHalf = max( 0.5 * dotProduct + 0.5, 0.0 );\\nvec3 pointDiffuseWeight = mix( vec3 ( pointDiffuseWeightFull ), vec3( pointDiffuseWeightHalf ), wrapRGB );\\n#else\\nfloat pointDiffuseWeight = max( dotProduct, 0.0 );\\n#endif\\npointDiffuse += diffuse * pointLightColor[ i ] * pointDiffuseWeight * lDistance;\\nvec3 pointHalfVector = normalize( lVector + viewPosition );\\nfloat pointDotNormalHalf = max( dot( normal, pointHalfVector ), 0.0 );\\nfloat pointSpecularWeight = specularStrength * max( pow( pointDotNormalHalf, shininess ), 0.0 );\\n#ifdef PHYSICALLY_BASED_SHADING\\nfloat specularNormalization = ( shininess + 2.0001 ) / 8.0;\\nvec3 schlick = specular + vec3( 1.0 - specular ) * pow( 1.0 - dot( lVector, pointHalfVector ), 5.0 );\\npointSpecular += schlick * pointLightColor[ i ] * pointSpecularWeight * pointDiffuseWeight * lDistance * specularNormalization;\\n#else\\npointSpecular += specular * pointLightColor[ i ] * pointSpecularWeight * pointDiffuseWeight * lDistance;\\n#endif\\n}\\n#endif\\n#if MAX_SPOT_LIGHTS > 0\\nvec3 spotDiffuse = vec3( 0.0 );\\nvec3 spotSpecular = vec3( 0.0 );\\nfor ( int i = 0; i < MAX_SPOT_LIGHTS; i ++ ) {\\n#ifdef PHONG_PER_PIXEL\\nvec4 lPosition = viewMatrix * vec4( spotLightPosition[ i ], 1.0 );\\nvec3 lVector = lPosition.xyz + vViewPosition.xyz;\\nfloat lDistance = 1.0;\\nif ( spotLightDistance[ i ] > 0.0 )\\nlDistance = 1.0 - min( ( length( lVector ) / spotLightDistance[ i ] ), 1.0 );\\nlVector = normalize( lVector );\\n#else\\nvec3 lVector = normalize( vSpotLight[ i ].xyz );\\nfloat lDistance = vSpotLight[ i ].w;\\n#endif\\nfloat spotEffect = dot( spotLightDirection[ i ], normalize( spotLightPosition[ i ] - vWorldPosition ) );\\nif ( spotEffect > spotLightAngleCos[ i ] ) {\\nspotEffect = max( pow( spotEffect, spotLightExponent[ i ] ), 0.0 );\\nfloat dotProduct = dot( normal, lVector );\\n#ifdef WRAP_AROUND\\nfloat spotDiffuseWeightFull = max( dotProduct, 0.0 );\\nfloat spotDiffuseWeightHalf = max( 0.5 * dotProduct + 0.5, 0.0 );\\nvec3 spotDiffuseWeight = mix( vec3 ( spotDiffuseWeightFull ), vec3( spotDiffuseWeightHalf ), wrapRGB );\\n#else\\nfloat spotDiffuseWeight = max( dotProduct, 0.0 );\\n#endif\\nspotDiffuse += diffuse * spotLightColor[ i ] * spotDiffuseWeight * lDistance * spotEffect;\\nvec3 spotHalfVector = normalize( lVector + viewPosition );\\nfloat spotDotNormalHalf = max( dot( normal, spotHalfVector ), 0.0 );\\nfloat spotSpecularWeight = specularStrength * max( pow( spotDotNormalHalf, shininess ), 0.0 );\\n#ifdef PHYSICALLY_BASED_SHADING\\nfloat specularNormalization = ( shininess + 2.0001 ) / 8.0;\\nvec3 schlick = specular + vec3( 1.0 - specular ) * pow( 1.0 - dot( lVector, spotHalfVector ), 5.0 );\\nspotSpecular += schlick * spotLightColor[ i ] * spotSpecularWeight * spotDiffuseWeight * lDistance * specularNormalization * spotEffect;\\n#else\\nspotSpecular += specular * spotLightColor[ i ] * spotSpecularWeight * spotDiffuseWeight * lDistance * spotEffect;\\n#endif\\n}\\n}\\n#endif\\n#if MAX_DIR_LIGHTS > 0\\nvec3 dirDiffuse = vec3( 0.0 );\\nvec3 dirSpecular = vec3( 0.0 );\\nfor( int i = 0; i < MAX_DIR_LIGHTS; i ++ ) {\\nvec4 lDirection = viewMatrix * vec4( directionalLightDirection[ i ], 0.0 );\\nvec3 dirVector = normalize( lDirection.xyz );\\nfloat dotProduct = dot( normal, dirVector );\\n#ifdef WRAP_AROUND\\nfloat dirDiffuseWeightFull = max( dotProduct, 0.0 );\\nfloat dirDiffuseWeightHalf = max( 0.5 * dotProduct + 0.5, 0.0 );\\nvec3 dirDiffuseWeight = mix( vec3( dirDiffuseWeightFull ), vec3( dirDiffuseWeightHalf ), wrapRGB );\\n#else\\nfloat dirDiffuseWeight = max( dotProduct, 0.0 );\\n#endif\\ndirDiffuse += diffuse * directionalLightColor[ i ] * dirDiffuseWeight;\\nvec3 dirHalfVector = normalize( dirVector + viewPosition );\\nfloat dirDotNormalHalf = max( dot( normal, dirHalfVector ), 0.0 );\\nfloat dirSpecularWeight = specularStrength * max( pow( dirDotNormalHalf, shininess ), 0.0 );\\n#ifdef PHYSICALLY_BASED_SHADING\\nfloat specularNormalization = ( shininess + 2.0001 ) / 8.0;\\nvec3 schlick = specular + vec3( 1.0 - specular ) * pow( 1.0 - dot( dirVector, dirHalfVector ), 5.0 );\\ndirSpecular += schlick * directionalLightColor[ i ] * dirSpecularWeight * dirDiffuseWeight * specularNormalization;\\n#else\\ndirSpecular += specular * directionalLightColor[ i ] * dirSpecularWeight * dirDiffuseWeight;\\n#endif\\n}\\n#endif\\n#if MAX_HEMI_LIGHTS > 0\\nvec3 hemiDiffuse = vec3( 0.0 );\\nvec3 hemiSpecular = vec3( 0.0 );\\nfor( int i = 0; i < MAX_HEMI_LIGHTS; i ++ ) {\\nvec4 lDirection = viewMatrix * vec4( hemisphereLightDirection[ i ], 0.0 );\\nvec3 lVector = normalize( lDirection.xyz );\\nfloat dotProduct = dot( normal, lVector );\\nfloat hemiDiffuseWeight = 0.5 * dotProduct + 0.5;\\nvec3 hemiColor = mix( hemisphereLightGroundColor[ i ], hemisphereLightSkyColor[ i ], hemiDiffuseWeight );\\nhemiDiffuse += diffuse * hemiColor;\\nvec3 hemiHalfVectorSky = normalize( lVector + viewPosition );\\nfloat hemiDotNormalHalfSky = 0.5 * dot( normal, hemiHalfVectorSky ) + 0.5;\\nfloat hemiSpecularWeightSky = specularStrength * max( pow( hemiDotNormalHalfSky, shininess ), 0.0 );\\nvec3 lVectorGround = -lVector;\\nvec3 hemiHalfVectorGround = normalize( lVectorGround + viewPosition );\\nfloat hemiDotNormalHalfGround = 0.5 * dot( normal, hemiHalfVectorGround ) + 0.5;\\nfloat hemiSpecularWeightGround = specularStrength * max( pow( hemiDotNormalHalfGround, shininess ), 0.0 );\\n#ifdef PHYSICALLY_BASED_SHADING\\nfloat dotProductGround = dot( normal, lVectorGround );\\nfloat specularNormalization = ( shininess + 2.0001 ) / 8.0;\\nvec3 schlickSky = specular + vec3( 1.0 - specular ) * pow( 1.0 - dot( lVector, hemiHalfVectorSky ), 5.0 );\\nvec3 schlickGround = specular + vec3( 1.0 - specular ) * pow( 1.0 - dot( lVectorGround, hemiHalfVectorGround ), 5.0 );\\nhemiSpecular += hemiColor * specularNormalization * ( schlickSky * hemiSpecularWeightSky * max( dotProduct, 0.0 ) + schlickGround * hemiSpecularWeightGround * max( dotProductGround, 0.0 ) );\\n#else\\nhemiSpecular += specular * hemiColor * ( hemiSpecularWeightSky + hemiSpecularWeightGround ) * hemiDiffuseWeight;\\n#endif\\n}\\n#endif\\nvec3 totalDiffuse = vec3( 0.0 );\\nvec3 totalSpecular = vec3( 0.0 );\\n#if MAX_DIR_LIGHTS > 0\\ntotalDiffuse += dirDiffuse;\\ntotalSpecular += dirSpecular;\\n#endif\\n#if MAX_HEMI_LIGHTS > 0\\ntotalDiffuse += hemiDiffuse;\\ntotalSpecular += hemiSpecular;\\n#endif\\n#if MAX_POINT_LIGHTS > 0\\ntotalDiffuse += pointDiffuse;\\ntotalSpecular += pointSpecular;\\n#endif\\n#if MAX_SPOT_LIGHTS > 0\\ntotalDiffuse += spotDiffuse;\\ntotalSpecular += spotSpecular;\\n#endif\\n#ifdef METAL\\ngl_FragColor.xyz = gl_FragColor.xyz * ( emissive + totalDiffuse + ambientLightColor * ambient + totalSpecular );\\n#else\\ngl_FragColor.xyz = gl_FragColor.xyz * ( emissive + totalDiffuse + ambientLightColor * ambient ) + totalSpecular;\\n#endif\",\r\n color_pars_fragment: \"#ifdef USE_COLOR\\nvarying vec3 vColor;\\n#endif\",\r\n color_fragment:\r\n \"#ifdef USE_COLOR\\ngl_FragColor = gl_FragColor * vec4( vColor, opacity );\\n#endif\",\r\n color_pars_vertex: \"#ifdef USE_COLOR\\nvarying vec3 vColor;\\n#endif\",\r\n color_vertex:\r\n \"#ifdef USE_COLOR\\n#ifdef GAMMA_INPUT\\nvColor = color * color;\\n#else\\nvColor = color;\\n#endif\\n#endif\",\r\n skinning_pars_vertex:\r\n \"#ifdef USE_SKINNING\\n#ifdef BONE_TEXTURE\\nuniform sampler2D boneTexture;\\nmat4 getBoneMatrix( const in float i ) {\\nfloat j = i * 4.0;\\nfloat x = mod( j, N_BONE_PIXEL_X );\\nfloat y = floor( j / N_BONE_PIXEL_X );\\nconst float dx = 1.0 / N_BONE_PIXEL_X;\\nconst float dy = 1.0 / N_BONE_PIXEL_Y;\\ny = dy * ( y + 0.5 );\\nvec4 v1 = texture2D( boneTexture, vec2( dx * ( x + 0.5 ), y ) );\\nvec4 v2 = texture2D( boneTexture, vec2( dx * ( x + 1.5 ), y ) );\\nvec4 v3 = texture2D( boneTexture, vec2( dx * ( x + 2.5 ), y ) );\\nvec4 v4 = texture2D( boneTexture, vec2( dx * ( x + 3.5 ), y ) );\\nmat4 bone = mat4( v1, v2, v3, v4 );\\nreturn bone;\\n}\\n#else\\nuniform mat4 boneGlobalMatrices[ MAX_BONES ];\\nmat4 getBoneMatrix( const in float i ) {\\nmat4 bone = boneGlobalMatrices[ int(i) ];\\nreturn bone;\\n}\\n#endif\\n#endif\",\r\n skinbase_vertex:\r\n \"#ifdef USE_SKINNING\\nmat4 boneMatX = getBoneMatrix( skinIndex.x );\\nmat4 boneMatY = getBoneMatrix( skinIndex.y );\\n#endif\",\r\n skinning_vertex:\r\n \"#ifdef USE_SKINNING\\n#ifdef USE_MORPHTARGETS\\nvec4 skinVertex = vec4( morphed, 1.0 );\\n#else\\nvec4 skinVertex = vec4( position, 1.0 );\\n#endif\\nvec4 skinned = boneMatX * skinVertex * skinWeight.x;\\nskinned \\t += boneMatY * skinVertex * skinWeight.y;\\n#endif\",\r\n morphtarget_pars_vertex:\r\n \"#ifdef USE_MORPHTARGETS\\n#ifndef USE_MORPHNORMALS\\nuniform float morphTargetInfluences[ 8 ];\\n#else\\nuniform float morphTargetInfluences[ 4 ];\\n#endif\\n#endif\",\r\n morphtarget_vertex:\r\n \"#ifdef USE_MORPHTARGETS\\nvec3 morphed = vec3( 0.0 );\\nmorphed += ( morphTarget0 - position ) * morphTargetInfluences[ 0 ];\\nmorphed += ( morphTarget1 - position ) * morphTargetInfluences[ 1 ];\\nmorphed += ( morphTarget2 - position ) * morphTargetInfluences[ 2 ];\\nmorphed += ( morphTarget3 - position ) * morphTargetInfluences[ 3 ];\\n#ifndef USE_MORPHNORMALS\\nmorphed += ( morphTarget4 - position ) * morphTargetInfluences[ 4 ];\\nmorphed += ( morphTarget5 - position ) * morphTargetInfluences[ 5 ];\\nmorphed += ( morphTarget6 - position ) * morphTargetInfluences[ 6 ];\\nmorphed += ( morphTarget7 - position ) * morphTargetInfluences[ 7 ];\\n#endif\\nmorphed += position;\\n#endif\",\r\n default_vertex:\r\n \"vec4 mvPosition;\\n#ifdef USE_SKINNING\\nmvPosition = modelViewMatrix * skinned;\\n#endif\\n#if !defined( USE_SKINNING ) && defined( USE_MORPHTARGETS )\\nmvPosition = modelViewMatrix * vec4( morphed, 1.0 );\\n#endif\\n#if !defined( USE_SKINNING ) && ! defined( USE_MORPHTARGETS )\\nmvPosition = modelViewMatrix * vec4( position, 1.0 );\\n#endif\\ngl_Position = projectionMatrix * mvPosition;\",\r\n morphnormal_vertex:\r\n \"#ifdef USE_MORPHNORMALS\\nvec3 morphedNormal = vec3( 0.0 );\\nmorphedNormal += ( morphNormal0 - normal ) * morphTargetInfluences[ 0 ];\\nmorphedNormal += ( morphNormal1 - normal ) * morphTargetInfluences[ 1 ];\\nmorphedNormal += ( morphNormal2 - normal ) * morphTargetInfluences[ 2 ];\\nmorphedNormal += ( morphNormal3 - normal ) * morphTargetInfluences[ 3 ];\\nmorphedNormal += normal;\\n#endif\",\r\n skinnormal_vertex:\r\n \"#ifdef USE_SKINNING\\nmat4 skinMatrix = skinWeight.x * boneMatX;\\nskinMatrix \\t+= skinWeight.y * boneMatY;\\n#ifdef USE_MORPHNORMALS\\nvec4 skinnedNormal = skinMatrix * vec4( morphedNormal, 0.0 );\\n#else\\nvec4 skinnedNormal = skinMatrix * vec4( normal, 0.0 );\\n#endif\\n#endif\",\r\n defaultnormal_vertex:\r\n \"vec3 objectNormal;\\n#ifdef USE_SKINNING\\nobjectNormal = skinnedNormal.xyz;\\n#endif\\n#if !defined( USE_SKINNING ) && defined( USE_MORPHNORMALS )\\nobjectNormal = morphedNormal;\\n#endif\\n#if !defined( USE_SKINNING ) && ! defined( USE_MORPHNORMALS )\\nobjectNormal = normal;\\n#endif\\n#ifdef FLIP_SIDED\\nobjectNormal = -objectNormal;\\n#endif\\nvec3 transformedNormal = normalMatrix * objectNormal;\",\r\n shadowmap_pars_fragment:\r\n \"#ifdef USE_SHADOWMAP\\nuniform sampler2D shadowMap[ MAX_SHADOWS ];\\nuniform vec2 shadowMapSize[ MAX_SHADOWS ];\\nuniform float shadowDarkness[ MAX_SHADOWS ];\\nuniform float shadowBias[ MAX_SHADOWS ];\\nvarying vec4 vShadowCoord[ MAX_SHADOWS ];\\nfloat unpackDepth( const in vec4 rgba_depth ) {\\nconst vec4 bit_shift = vec4( 1.0 / ( 256.0 * 256.0 * 256.0 ), 1.0 / ( 256.0 * 256.0 ), 1.0 / 256.0, 1.0 );\\nfloat depth = dot( rgba_depth, bit_shift );\\nreturn depth;\\n}\\n#endif\",\r\n shadowmap_fragment:\r\n \"#ifdef USE_SHADOWMAP\\n#ifdef SHADOWMAP_DEBUG\\nvec3 frustumColors[3];\\nfrustumColors[0] = vec3( 1.0, 0.5, 0.0 );\\nfrustumColors[1] = vec3( 0.0, 1.0, 0.8 );\\nfrustumColors[2] = vec3( 0.0, 0.5, 1.0 );\\n#endif\\n#ifdef SHADOWMAP_CASCADE\\nint inFrustumCount = 0;\\n#endif\\nfloat fDepth;\\nvec3 shadowColor = vec3( 1.0 );\\nfor( int i = 0; i < MAX_SHADOWS; i ++ ) {\\nvec3 shadowCoord = vShadowCoord[ i ].xyz / vShadowCoord[ i ].w;\\nbvec4 inFrustumVec = bvec4 ( shadowCoord.x >= 0.0, shadowCoord.x <= 1.0, shadowCoord.y >= 0.0, shadowCoord.y <= 1.0 );\\nbool inFrustum = all( inFrustumVec );\\n#ifdef SHADOWMAP_CASCADE\\ninFrustumCount += int( inFrustum );\\nbvec3 frustumTestVec = bvec3( inFrustum, inFrustumCount == 1, shadowCoord.z <= 1.0 );\\n#else\\nbvec2 frustumTestVec = bvec2( inFrustum, shadowCoord.z <= 1.0 );\\n#endif\\nbool frustumTest = all( frustumTestVec );\\nif ( frustumTest ) {\\nshadowCoord.z += shadowBias[ i ];\\n#if defined( SHADOWMAP_TYPE_PCF )\\nfloat shadow = 0.0;\\nconst float shadowDelta = 1.0 / 9.0;\\nfloat xPixelOffset = 1.0 / shadowMapSize[ i ].x;\\nfloat yPixelOffset = 1.0 / shadowMapSize[ i ].y;\\nfloat dx0 = -1.25 * xPixelOffset;\\nfloat dy0 = -1.25 * yPixelOffset;\\nfloat dx1 = 1.25 * xPixelOffset;\\nfloat dy1 = 1.25 * yPixelOffset;\\nfDepth = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( dx0, dy0 ) ) );\\nif ( fDepth < shadowCoord.z ) shadow += shadowDelta;\\nfDepth = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( 0.0, dy0 ) ) );\\nif ( fDepth < shadowCoord.z ) shadow += shadowDelta;\\nfDepth = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( dx1, dy0 ) ) );\\nif ( fDepth < shadowCoord.z ) shadow += shadowDelta;\\nfDepth = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( dx0, 0.0 ) ) );\\nif ( fDepth < shadowCoord.z ) shadow += shadowDelta;\\nfDepth = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy ) );\\nif ( fDepth < shadowCoord.z ) shadow += shadowDelta;\\nfDepth = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( dx1, 0.0 ) ) );\\nif ( fDepth < shadowCoord.z ) shadow += shadowDelta;\\nfDepth = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( dx0, dy1 ) ) );\\nif ( fDepth < shadowCoord.z ) shadow += shadowDelta;\\nfDepth = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( 0.0, dy1 ) ) );\\nif ( fDepth < shadowCoord.z ) shadow += shadowDelta;\\nfDepth = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( dx1, dy1 ) ) );\\nif ( fDepth < shadowCoord.z ) shadow += shadowDelta;\\nshadowColor = shadowColor * vec3( ( 1.0 - shadowDarkness[ i ] * shadow ) );\\n#elif defined( SHADOWMAP_TYPE_PCF_SOFT )\\nfloat shadow = 0.0;\\nfloat xPixelOffset = 1.0 / shadowMapSize[ i ].x;\\nfloat yPixelOffset = 1.0 / shadowMapSize[ i ].y;\\nfloat dx0 = -1.0 * xPixelOffset;\\nfloat dy0 = -1.0 * yPixelOffset;\\nfloat dx1 = 1.0 * xPixelOffset;\\nfloat dy1 = 1.0 * yPixelOffset;\\nmat3 shadowKernel;\\nmat3 depthKernel;\\ndepthKernel[0][0] = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( dx0, dy0 ) ) );\\nif ( depthKernel[0][0] < shadowCoord.z ) shadowKernel[0][0] = 0.25;\\nelse shadowKernel[0][0] = 0.0;\\ndepthKernel[0][1] = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( dx0, 0.0 ) ) );\\nif ( depthKernel[0][1] < shadowCoord.z ) shadowKernel[0][1] = 0.25;\\nelse shadowKernel[0][1] = 0.0;\\ndepthKernel[0][2] = unpackDepth( texture2D( shadowMap[ i], shadowCoord.xy + vec2( dx0, dy1 ) ) );\\nif ( depthKernel[0][2] < shadowCoord.z ) shadowKernel[0][2] = 0.25;\\nelse shadowKernel[0][2] = 0.0;\\ndepthKernel[1][0] = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( 0.0, dy0 ) ) );\\nif ( depthKernel[1][0] < shadowCoord.z ) shadowKernel[1][0] = 0.25;\\nelse shadowKernel[1][0] = 0.0;\\ndepthKernel[1][1] = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy ) );\\nif ( depthKernel[1][1] < shadowCoord.z ) shadowKernel[1][1] = 0.25;\\nelse shadowKernel[1][1] = 0.0;\\ndepthKernel[1][2] = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( 0.0, dy1 ) ) );\\nif ( depthKernel[1][2] < shadowCoord.z ) shadowKernel[1][2] = 0.25;\\nelse shadowKernel[1][2] = 0.0;\\ndepthKernel[2][0] = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( dx1, dy0 ) ) );\\nif ( depthKernel[2][0] < shadowCoord.z ) shadowKernel[2][0] = 0.25;\\nelse shadowKernel[2][0] = 0.0;\\ndepthKernel[2][1] = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( dx1, 0.0 ) ) );\\nif ( depthKernel[2][1] < shadowCoord.z ) shadowKernel[2][1] = 0.25;\\nelse shadowKernel[2][1] = 0.0;\\ndepthKernel[2][2] = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( dx1, dy1 ) ) );\\nif ( depthKernel[2][2] < shadowCoord.z ) shadowKernel[2][2] = 0.25;\\nelse shadowKernel[2][2] = 0.0;\\nvec2 fractionalCoord = 1.0 - fract( shadowCoord.xy * shadowMapSize[i].xy );\\nshadowKernel[0] = mix( shadowKernel[1], shadowKernel[0], fractionalCoord.x );\\nshadowKernel[1] = mix( shadowKernel[2], shadowKernel[1], fractionalCoord.x );\\nvec4 shadowValues;\\nshadowValues.x = mix( shadowKernel[0][1], shadowKernel[0][0], fractionalCoord.y );\\nshadowValues.y = mix( shadowKernel[0][2], shadowKernel[0][1], fractionalCoord.y );\\nshadowValues.z = mix( shadowKernel[1][1], shadowKernel[1][0], fractionalCoord.y );\\nshadowValues.w = mix( shadowKernel[1][2], shadowKernel[1][1], fractionalCoord.y );\\nshadow = dot( shadowValues, vec4( 1.0 ) );\\nshadowColor = shadowColor * vec3( ( 1.0 - shadowDarkness[ i ] * shadow ) );\\n#else\\nvec4 rgbaDepth = texture2D( shadowMap[ i ], shadowCoord.xy );\\nfloat fDepth = unpackDepth( rgbaDepth );\\nif ( fDepth < shadowCoord.z )\\nshadowColor = shadowColor * vec3( 1.0 - shadowDarkness[ i ] );\\n#endif\\n}\\n#ifdef SHADOWMAP_DEBUG\\n#ifdef SHADOWMAP_CASCADE\\nif ( inFrustum && inFrustumCount == 1 ) gl_FragColor.xyz *= frustumColors[ i ];\\n#else\\nif ( inFrustum ) gl_FragColor.xyz *= frustumColors[ i ];\\n#endif\\n#endif\\n}\\n#ifdef GAMMA_OUTPUT\\nshadowColor *= shadowColor;\\n#endif\\ngl_FragColor.xyz = gl_FragColor.xyz * shadowColor;\\n#endif\",\r\n shadowmap_pars_vertex:\r\n \"#ifdef USE_SHADOWMAP\\nvarying vec4 vShadowCoord[ MAX_SHADOWS ];\\nuniform mat4 shadowMatrix[ MAX_SHADOWS ];\\n#endif\",\r\n shadowmap_vertex:\r\n \"#ifdef USE_SHADOWMAP\\nfor( int i = 0; i < MAX_SHADOWS; i ++ ) {\\nvShadowCoord[ i ] = shadowMatrix[ i ] * worldPosition;\\n}\\n#endif\",\r\n alphatest_fragment:\r\n \"#ifdef ALPHATEST\\nif ( gl_FragColor.a < ALPHATEST ) discard;\\n#endif\",\r\n linear_to_gamma_fragment:\r\n \"#ifdef GAMMA_OUTPUT\\ngl_FragColor.xyz = sqrt( gl_FragColor.xyz );\\n#endif\"\r\n};\r\nTHREE.UniformsUtils = {\r\n merge: function(a) {\r\n var b,\r\n c,\r\n d,\r\n e = {};\r\n for (b = 0; b < a.length; b++)\r\n for (c in ((d = this.clone(a[b])), d)) e[c] = d[c];\r\n return e;\r\n },\r\n clone: function(a) {\r\n var b,\r\n c,\r\n d,\r\n e = {};\r\n for (b in a)\r\n for (c in ((e[b] = {}), a[b]))\r\n (d = a[b][c]),\r\n (e[b][c] =\r\n d instanceof THREE.Color ||\r\n d instanceof THREE.Vector2 ||\r\n d instanceof THREE.Vector3 ||\r\n d instanceof THREE.Vector4 ||\r\n d instanceof THREE.Matrix4 ||\r\n d instanceof THREE.Texture\r\n ? d.clone()\r\n : d instanceof Array\r\n ? d.slice()\r\n : d);\r\n return e;\r\n }\r\n};\r\nTHREE.UniformsLib = {\r\n common: {\r\n diffuse: { type: \"c\", value: new THREE.Color(15658734) },\r\n opacity: { type: \"f\", value: 1 },\r\n map: { type: \"t\", value: null },\r\n offsetRepeat: { type: \"v4\", value: new THREE.Vector4(0, 0, 1, 1) },\r\n lightMap: { type: \"t\", value: null },\r\n specularMap: { type: \"t\", value: null },\r\n envMap: { type: \"t\", value: null },\r\n flipEnvMap: { type: \"f\", value: -1 },\r\n useRefract: { type: \"i\", value: 0 },\r\n reflectivity: { type: \"f\", value: 1 },\r\n refractionRatio: { type: \"f\", value: 0.98 },\r\n combine: { type: \"i\", value: 0 },\r\n morphTargetInfluences: { type: \"f\", value: 0 }\r\n },\r\n bump: {\r\n bumpMap: { type: \"t\", value: null },\r\n bumpScale: { type: \"f\", value: 1 }\r\n },\r\n normalmap: {\r\n normalMap: { type: \"t\", value: null },\r\n normalScale: { type: \"v2\", value: new THREE.Vector2(1, 1) }\r\n },\r\n fog: {\r\n fogDensity: { type: \"f\", value: 2.5e-4 },\r\n fogNear: { type: \"f\", value: 1 },\r\n fogFar: { type: \"f\", value: 2e3 },\r\n fogColor: { type: \"c\", value: new THREE.Color(16777215) }\r\n },\r\n lights: {\r\n ambientLightColor: { type: \"fv\", value: [] },\r\n directionalLightDirection: { type: \"fv\", value: [] },\r\n directionalLightColor: { type: \"fv\", value: [] },\r\n hemisphereLightDirection: { type: \"fv\", value: [] },\r\n hemisphereLightSkyColor: { type: \"fv\", value: [] },\r\n hemisphereLightGroundColor: { type: \"fv\", value: [] },\r\n pointLightColor: { type: \"fv\", value: [] },\r\n pointLightPosition: { type: \"fv\", value: [] },\r\n pointLightDistance: { type: \"fv1\", value: [] },\r\n spotLightColor: { type: \"fv\", value: [] },\r\n spotLightPosition: { type: \"fv\", value: [] },\r\n spotLightDirection: { type: \"fv\", value: [] },\r\n spotLightDistance: { type: \"fv1\", value: [] },\r\n spotLightAngleCos: { type: \"fv1\", value: [] },\r\n spotLightExponent: { type: \"fv1\", value: [] }\r\n },\r\n particle: {\r\n psColor: { type: \"c\", value: new THREE.Color(15658734) },\r\n opacity: { type: \"f\", value: 1 },\r\n size: { type: \"f\", value: 1 },\r\n scale: { type: \"f\", value: 1 },\r\n map: { type: \"t\", value: null },\r\n fogDensity: { type: \"f\", value: 2.5e-4 },\r\n fogNear: { type: \"f\", value: 1 },\r\n fogFar: { type: \"f\", value: 2e3 },\r\n fogColor: { type: \"c\", value: new THREE.Color(16777215) }\r\n },\r\n shadowmap: {\r\n shadowMap: { type: \"tv\", value: [] },\r\n shadowMapSize: { type: \"v2v\", value: [] },\r\n shadowBias: { type: \"fv1\", value: [] },\r\n shadowDarkness: { type: \"fv1\", value: [] },\r\n shadowMatrix: { type: \"m4v\", value: [] }\r\n }\r\n};\r\nTHREE.ShaderLib = {\r\n basic: {\r\n uniforms: THREE.UniformsUtils.merge([\r\n THREE.UniformsLib.common,\r\n THREE.UniformsLib.fog,\r\n THREE.UniformsLib.shadowmap\r\n ]),\r\n vertexShader: [\r\n THREE.ShaderChunk.map_pars_vertex,\r\n THREE.ShaderChunk.lightmap_pars_vertex,\r\n THREE.ShaderChunk.envmap_pars_vertex,\r\n THREE.ShaderChunk.color_pars_vertex,\r\n THREE.ShaderChunk.morphtarget_pars_vertex,\r\n THREE.ShaderChunk.skinning_pars_vertex,\r\n THREE.ShaderChunk.shadowmap_pars_vertex,\r\n \"void main() {\",\r\n THREE.ShaderChunk.map_vertex,\r\n THREE.ShaderChunk.lightmap_vertex,\r\n THREE.ShaderChunk.color_vertex,\r\n THREE.ShaderChunk.skinbase_vertex,\r\n \"#ifdef USE_ENVMAP\",\r\n THREE.ShaderChunk.morphnormal_vertex,\r\n THREE.ShaderChunk.skinnormal_vertex,\r\n THREE.ShaderChunk.defaultnormal_vertex,\r\n \"#endif\",\r\n THREE.ShaderChunk.morphtarget_vertex,\r\n THREE.ShaderChunk.skinning_vertex,\r\n THREE.ShaderChunk.default_vertex,\r\n THREE.ShaderChunk.worldpos_vertex,\r\n THREE.ShaderChunk.envmap_vertex,\r\n THREE.ShaderChunk.shadowmap_vertex,\r\n \"}\"\r\n ].join(\"\\n\"),\r\n fragmentShader: [\r\n \"uniform vec3 diffuse;\\nuniform float opacity;\",\r\n THREE.ShaderChunk.color_pars_fragment,\r\n THREE.ShaderChunk.map_pars_fragment,\r\n THREE.ShaderChunk.lightmap_pars_fragment,\r\n THREE.ShaderChunk.envmap_pars_fragment,\r\n THREE.ShaderChunk.fog_pars_fragment,\r\n THREE.ShaderChunk.shadowmap_pars_fragment,\r\n THREE.ShaderChunk.specularmap_pars_fragment,\r\n \"void main() {\\ngl_FragColor = vec4( diffuse, opacity );\",\r\n THREE.ShaderChunk.map_fragment,\r\n THREE.ShaderChunk.alphatest_fragment,\r\n THREE.ShaderChunk.specularmap_fragment,\r\n THREE.ShaderChunk.lightmap_fragment,\r\n THREE.ShaderChunk.color_fragment,\r\n THREE.ShaderChunk.envmap_fragment,\r\n THREE.ShaderChunk.shadowmap_fragment,\r\n THREE.ShaderChunk.linear_to_gamma_fragment,\r\n THREE.ShaderChunk.fog_fragment,\r\n \"}\"\r\n ].join(\"\\n\")\r\n },\r\n lambert: {\r\n uniforms: THREE.UniformsUtils.merge([\r\n THREE.UniformsLib.common,\r\n THREE.UniformsLib.fog,\r\n THREE.UniformsLib.lights,\r\n THREE.UniformsLib.shadowmap,\r\n {\r\n ambient: { type: \"c\", value: new THREE.Color(16777215) },\r\n emissive: { type: \"c\", value: new THREE.Color(0) },\r\n wrapRGB: { type: \"v3\", value: new THREE.Vector3(1, 1, 1) }\r\n }\r\n ]),\r\n vertexShader: [\r\n \"#define LAMBERT\\nvarying vec3 vLightFront;\\n#ifdef DOUBLE_SIDED\\nvarying vec3 vLightBack;\\n#endif\",\r\n THREE.ShaderChunk.map_pars_vertex,\r\n THREE.ShaderChunk.lightmap_pars_vertex,\r\n THREE.ShaderChunk.envmap_pars_vertex,\r\n THREE.ShaderChunk.lights_lambert_pars_vertex,\r\n THREE.ShaderChunk.color_pars_vertex,\r\n THREE.ShaderChunk.morphtarget_pars_vertex,\r\n THREE.ShaderChunk.skinning_pars_vertex,\r\n THREE.ShaderChunk.shadowmap_pars_vertex,\r\n \"void main() {\",\r\n THREE.ShaderChunk.map_vertex,\r\n THREE.ShaderChunk.lightmap_vertex,\r\n THREE.ShaderChunk.color_vertex,\r\n THREE.ShaderChunk.morphnormal_vertex,\r\n THREE.ShaderChunk.skinbase_vertex,\r\n THREE.ShaderChunk.skinnormal_vertex,\r\n THREE.ShaderChunk.defaultnormal_vertex,\r\n THREE.ShaderChunk.morphtarget_vertex,\r\n THREE.ShaderChunk.skinning_vertex,\r\n THREE.ShaderChunk.default_vertex,\r\n THREE.ShaderChunk.worldpos_vertex,\r\n THREE.ShaderChunk.envmap_vertex,\r\n THREE.ShaderChunk.lights_lambert_vertex,\r\n THREE.ShaderChunk.shadowmap_vertex,\r\n \"}\"\r\n ].join(\"\\n\"),\r\n fragmentShader: [\r\n \"uniform float opacity;\\nvarying vec3 vLightFront;\\n#ifdef DOUBLE_SIDED\\nvarying vec3 vLightBack;\\n#endif\",\r\n THREE.ShaderChunk.color_pars_fragment,\r\n THREE.ShaderChunk.map_pars_fragment,\r\n THREE.ShaderChunk.lightmap_pars_fragment,\r\n THREE.ShaderChunk.envmap_pars_fragment,\r\n THREE.ShaderChunk.fog_pars_fragment,\r\n THREE.ShaderChunk.shadowmap_pars_fragment,\r\n THREE.ShaderChunk.specularmap_pars_fragment,\r\n \"void main() {\\ngl_FragColor = vec4( vec3 ( 1.0 ), opacity );\",\r\n THREE.ShaderChunk.map_fragment,\r\n THREE.ShaderChunk.alphatest_fragment,\r\n THREE.ShaderChunk.specularmap_fragment,\r\n \"#ifdef DOUBLE_SIDED\\nif ( gl_FrontFacing )\\ngl_FragColor.xyz *= vLightFront;\\nelse\\ngl_FragColor.xyz *= vLightBack;\\n#else\\ngl_FragColor.xyz *= vLightFront;\\n#endif\",\r\n THREE.ShaderChunk.lightmap_fragment,\r\n THREE.ShaderChunk.color_fragment,\r\n THREE.ShaderChunk.envmap_fragment,\r\n THREE.ShaderChunk.shadowmap_fragment,\r\n THREE.ShaderChunk.linear_to_gamma_fragment,\r\n THREE.ShaderChunk.fog_fragment,\r\n \"}\"\r\n ].join(\"\\n\")\r\n },\r\n phong: {\r\n uniforms: THREE.UniformsUtils.merge([\r\n THREE.UniformsLib.common,\r\n THREE.UniformsLib.bump,\r\n THREE.UniformsLib.normalmap,\r\n THREE.UniformsLib.fog,\r\n THREE.UniformsLib.lights,\r\n THREE.UniformsLib.shadowmap,\r\n {\r\n ambient: { type: \"c\", value: new THREE.Color(16777215) },\r\n emissive: { type: \"c\", value: new THREE.Color(0) },\r\n specular: { type: \"c\", value: new THREE.Color(1118481) },\r\n shininess: { type: \"f\", value: 30 },\r\n wrapRGB: { type: \"v3\", value: new THREE.Vector3(1, 1, 1) }\r\n }\r\n ]),\r\n vertexShader: [\r\n \"#define PHONG\\nvarying vec3 vViewPosition;\\nvarying vec3 vNormal;\",\r\n THREE.ShaderChunk.map_pars_vertex,\r\n THREE.ShaderChunk.lightmap_pars_vertex,\r\n THREE.ShaderChunk.envmap_pars_vertex,\r\n THREE.ShaderChunk.lights_phong_pars_vertex,\r\n THREE.ShaderChunk.color_pars_vertex,\r\n THREE.ShaderChunk.morphtarget_pars_vertex,\r\n THREE.ShaderChunk.skinning_pars_vertex,\r\n THREE.ShaderChunk.shadowmap_pars_vertex,\r\n \"void main() {\",\r\n THREE.ShaderChunk.map_vertex,\r\n THREE.ShaderChunk.lightmap_vertex,\r\n THREE.ShaderChunk.color_vertex,\r\n THREE.ShaderChunk.morphnormal_vertex,\r\n THREE.ShaderChunk.skinbase_vertex,\r\n THREE.ShaderChunk.skinnormal_vertex,\r\n THREE.ShaderChunk.defaultnormal_vertex,\r\n \"vNormal = normalize( transformedNormal );\",\r\n THREE.ShaderChunk.morphtarget_vertex,\r\n THREE.ShaderChunk.skinning_vertex,\r\n THREE.ShaderChunk.default_vertex,\r\n \"vViewPosition = -mvPosition.xyz;\",\r\n THREE.ShaderChunk.worldpos_vertex,\r\n THREE.ShaderChunk.envmap_vertex,\r\n THREE.ShaderChunk.lights_phong_vertex,\r\n THREE.ShaderChunk.shadowmap_vertex,\r\n \"}\"\r\n ].join(\"\\n\"),\r\n fragmentShader: [\r\n \"uniform vec3 diffuse;\\nuniform float opacity;\\nuniform vec3 ambient;\\nuniform vec3 emissive;\\nuniform vec3 specular;\\nuniform float shininess;\",\r\n THREE.ShaderChunk.color_pars_fragment,\r\n THREE.ShaderChunk.map_pars_fragment,\r\n THREE.ShaderChunk.lightmap_pars_fragment,\r\n THREE.ShaderChunk.envmap_pars_fragment,\r\n THREE.ShaderChunk.fog_pars_fragment,\r\n THREE.ShaderChunk.lights_phong_pars_fragment,\r\n THREE.ShaderChunk.shadowmap_pars_fragment,\r\n THREE.ShaderChunk.bumpmap_pars_fragment,\r\n THREE.ShaderChunk.normalmap_pars_fragment,\r\n THREE.ShaderChunk.specularmap_pars_fragment,\r\n \"void main() {\\ngl_FragColor = vec4( vec3 ( 1.0 ), opacity );\",\r\n THREE.ShaderChunk.map_fragment,\r\n THREE.ShaderChunk.alphatest_fragment,\r\n THREE.ShaderChunk.specularmap_fragment,\r\n THREE.ShaderChunk.lights_phong_fragment,\r\n THREE.ShaderChunk.lightmap_fragment,\r\n THREE.ShaderChunk.color_fragment,\r\n THREE.ShaderChunk.envmap_fragment,\r\n THREE.ShaderChunk.shadowmap_fragment,\r\n THREE.ShaderChunk.linear_to_gamma_fragment,\r\n THREE.ShaderChunk.fog_fragment,\r\n \"}\"\r\n ].join(\"\\n\")\r\n },\r\n particle_basic: {\r\n uniforms: THREE.UniformsUtils.merge([\r\n THREE.UniformsLib.particle,\r\n THREE.UniformsLib.shadowmap\r\n ]),\r\n vertexShader: [\r\n \"uniform float size;\\nuniform float scale;\",\r\n THREE.ShaderChunk.color_pars_vertex,\r\n THREE.ShaderChunk.shadowmap_pars_vertex,\r\n \"void main() {\",\r\n THREE.ShaderChunk.color_vertex,\r\n \"vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\\n#ifdef USE_SIZEATTENUATION\\ngl_PointSize = size * ( scale / length( mvPosition.xyz ) );\\n#else\\ngl_PointSize = size;\\n#endif\\ngl_Position = projectionMatrix * mvPosition;\",\r\n THREE.ShaderChunk.worldpos_vertex,\r\n THREE.ShaderChunk.shadowmap_vertex,\r\n \"}\"\r\n ].join(\"\\n\"),\r\n fragmentShader: [\r\n \"uniform vec3 psColor;\\nuniform float opacity;\",\r\n THREE.ShaderChunk.color_pars_fragment,\r\n THREE.ShaderChunk.map_particle_pars_fragment,\r\n THREE.ShaderChunk.fog_pars_fragment,\r\n THREE.ShaderChunk.shadowmap_pars_fragment,\r\n \"void main() {\\ngl_FragColor = vec4( psColor, opacity );\",\r\n THREE.ShaderChunk.map_particle_fragment,\r\n THREE.ShaderChunk.alphatest_fragment,\r\n THREE.ShaderChunk.color_fragment,\r\n THREE.ShaderChunk.shadowmap_fragment,\r\n THREE.ShaderChunk.fog_fragment,\r\n \"}\"\r\n ].join(\"\\n\")\r\n },\r\n dashed: {\r\n uniforms: THREE.UniformsUtils.merge([\r\n THREE.UniformsLib.common,\r\n THREE.UniformsLib.fog,\r\n {\r\n scale: { type: \"f\", value: 1 },\r\n dashSize: { type: \"f\", value: 1 },\r\n totalSize: { type: \"f\", value: 2 }\r\n }\r\n ]),\r\n vertexShader: [\r\n \"uniform float scale;\\nattribute float lineDistance;\\nvarying float vLineDistance;\",\r\n THREE.ShaderChunk.color_pars_vertex,\r\n \"void main() {\",\r\n THREE.ShaderChunk.color_vertex,\r\n \"vLineDistance = scale * lineDistance;\\nvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\\ngl_Position = projectionMatrix * mvPosition;\\n}\"\r\n ].join(\"\\n\"),\r\n fragmentShader: [\r\n \"uniform vec3 diffuse;\\nuniform float opacity;\\nuniform float dashSize;\\nuniform float totalSize;\\nvarying float vLineDistance;\",\r\n THREE.ShaderChunk.color_pars_fragment,\r\n THREE.ShaderChunk.fog_pars_fragment,\r\n \"void main() {\\nif ( mod( vLineDistance, totalSize ) > dashSize ) {\\ndiscard;\\n}\\ngl_FragColor = vec4( diffuse, opacity );\",\r\n THREE.ShaderChunk.color_fragment,\r\n THREE.ShaderChunk.fog_fragment,\r\n \"}\"\r\n ].join(\"\\n\")\r\n },\r\n depth: {\r\n uniforms: {\r\n mNear: { type: \"f\", value: 1 },\r\n mFar: { type: \"f\", value: 2e3 },\r\n opacity: { type: \"f\", value: 1 }\r\n },\r\n vertexShader:\r\n \"void main() {\\ngl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\\n}\",\r\n fragmentShader:\r\n \"uniform float mNear;\\nuniform float mFar;\\nuniform float opacity;\\nvoid main() {\\nfloat depth = gl_FragCoord.z / gl_FragCoord.w;\\nfloat color = 1.0 - smoothstep( mNear, mFar, depth );\\ngl_FragColor = vec4( vec3( color ), opacity );\\n}\"\r\n },\r\n normal: {\r\n uniforms: { opacity: { type: \"f\", value: 1 } },\r\n vertexShader:\r\n \"varying vec3 vNormal;\\nvoid main() {\\nvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\\nvNormal = normalize( normalMatrix * normal );\\ngl_Position = projectionMatrix * mvPosition;\\n}\",\r\n fragmentShader:\r\n \"uniform float opacity;\\nvarying vec3 vNormal;\\nvoid main() {\\ngl_FragColor = vec4( 0.5 * normalize( vNormal ) + 0.5, opacity );\\n}\"\r\n },\r\n normalmap: {\r\n uniforms: THREE.UniformsUtils.merge([\r\n THREE.UniformsLib.fog,\r\n THREE.UniformsLib.lights,\r\n THREE.UniformsLib.shadowmap,\r\n {\r\n enableAO: { type: \"i\", value: 0 },\r\n enableDiffuse: { type: \"i\", value: 0 },\r\n enableSpecular: { type: \"i\", value: 0 },\r\n enableReflection: { type: \"i\", value: 0 },\r\n enableDisplacement: { type: \"i\", value: 0 },\r\n tDisplacement: { type: \"t\", value: null },\r\n tDiffuse: { type: \"t\", value: null },\r\n tCube: { type: \"t\", value: null },\r\n tNormal: { type: \"t\", value: null },\r\n tSpecular: { type: \"t\", value: null },\r\n tAO: { type: \"t\", value: null },\r\n uNormalScale: { type: \"v2\", value: new THREE.Vector2(1, 1) },\r\n uDisplacementBias: { type: \"f\", value: 0 },\r\n uDisplacementScale: { type: \"f\", value: 1 },\r\n uDiffuseColor: { type: \"c\", value: new THREE.Color(16777215) },\r\n uSpecularColor: { type: \"c\", value: new THREE.Color(1118481) },\r\n uAmbientColor: { type: \"c\", value: new THREE.Color(16777215) },\r\n uShininess: { type: \"f\", value: 30 },\r\n uOpacity: { type: \"f\", value: 1 },\r\n useRefract: { type: \"i\", value: 0 },\r\n uRefractionRatio: { type: \"f\", value: 0.98 },\r\n uReflectivity: { type: \"f\", value: 0.5 },\r\n uOffset: { type: \"v2\", value: new THREE.Vector2(0, 0) },\r\n uRepeat: { type: \"v2\", value: new THREE.Vector2(1, 1) },\r\n wrapRGB: { type: \"v3\", value: new THREE.Vector3(1, 1, 1) }\r\n }\r\n ]),\r\n fragmentShader: [\r\n \"uniform vec3 uAmbientColor;\\nuniform vec3 uDiffuseColor;\\nuniform vec3 uSpecularColor;\\nuniform float uShininess;\\nuniform float uOpacity;\\nuniform bool enableDiffuse;\\nuniform bool enableSpecular;\\nuniform bool enableAO;\\nuniform bool enableReflection;\\nuniform sampler2D tDiffuse;\\nuniform sampler2D tNormal;\\nuniform sampler2D tSpecular;\\nuniform sampler2D tAO;\\nuniform samplerCube tCube;\\nuniform vec2 uNormalScale;\\nuniform bool useRefract;\\nuniform float uRefractionRatio;\\nuniform float uReflectivity;\\nvarying vec3 vTangent;\\nvarying vec3 vBinormal;\\nvarying vec3 vNormal;\\nvarying vec2 vUv;\\nuniform vec3 ambientLightColor;\\n#if MAX_DIR_LIGHTS > 0\\nuniform vec3 directionalLightColor[ MAX_DIR_LIGHTS ];\\nuniform vec3 directionalLightDirection[ MAX_DIR_LIGHTS ];\\n#endif\\n#if MAX_HEMI_LIGHTS > 0\\nuniform vec3 hemisphereLightSkyColor[ MAX_HEMI_LIGHTS ];\\nuniform vec3 hemisphereLightGroundColor[ MAX_HEMI_LIGHTS ];\\nuniform vec3 hemisphereLightDirection[ MAX_HEMI_LIGHTS ];\\n#endif\\n#if MAX_POINT_LIGHTS > 0\\nuniform vec3 pointLightColor[ MAX_POINT_LIGHTS ];\\nuniform vec3 pointLightPosition[ MAX_POINT_LIGHTS ];\\nuniform float pointLightDistance[ MAX_POINT_LIGHTS ];\\n#endif\\n#if MAX_SPOT_LIGHTS > 0\\nuniform vec3 spotLightColor[ MAX_SPOT_LIGHTS ];\\nuniform vec3 spotLightPosition[ MAX_SPOT_LIGHTS ];\\nuniform vec3 spotLightDirection[ MAX_SPOT_LIGHTS ];\\nuniform float spotLightAngleCos[ MAX_SPOT_LIGHTS ];\\nuniform float spotLightExponent[ MAX_SPOT_LIGHTS ];\\nuniform float spotLightDistance[ MAX_SPOT_LIGHTS ];\\n#endif\\n#ifdef WRAP_AROUND\\nuniform vec3 wrapRGB;\\n#endif\\nvarying vec3 vWorldPosition;\\nvarying vec3 vViewPosition;\",\r\n THREE.ShaderChunk.shadowmap_pars_fragment,\r\n THREE.ShaderChunk.fog_pars_fragment,\r\n \"void main() {\\ngl_FragColor = vec4( vec3( 1.0 ), uOpacity );\\nvec3 specularTex = vec3( 1.0 );\\nvec3 normalTex = texture2D( tNormal, vUv ).xyz * 2.0 - 1.0;\\nnormalTex.xy *= uNormalScale;\\nnormalTex = normalize( normalTex );\\nif( enableDiffuse ) {\\n#ifdef GAMMA_INPUT\\nvec4 texelColor = texture2D( tDiffuse, vUv );\\ntexelColor.xyz *= texelColor.xyz;\\ngl_FragColor = gl_FragColor * texelColor;\\n#else\\ngl_FragColor = gl_FragColor * texture2D( tDiffuse, vUv );\\n#endif\\n}\\nif( enableAO ) {\\n#ifdef GAMMA_INPUT\\nvec4 aoColor = texture2D( tAO, vUv );\\naoColor.xyz *= aoColor.xyz;\\ngl_FragColor.xyz = gl_FragColor.xyz * aoColor.xyz;\\n#else\\ngl_FragColor.xyz = gl_FragColor.xyz * texture2D( tAO, vUv ).xyz;\\n#endif\\n}\\nif( enableSpecular )\\nspecularTex = texture2D( tSpecular, vUv ).xyz;\\nmat3 tsb = mat3( normalize( vTangent ), normalize( vBinormal ), normalize( vNormal ) );\\nvec3 finalNormal = tsb * normalTex;\\n#ifdef FLIP_SIDED\\nfinalNormal = -finalNormal;\\n#endif\\nvec3 normal = normalize( finalNormal );\\nvec3 viewPosition = normalize( vViewPosition );\\n#if MAX_POINT_LIGHTS > 0\\nvec3 pointDiffuse = vec3( 0.0 );\\nvec3 pointSpecular = vec3( 0.0 );\\nfor ( int i = 0; i < MAX_POINT_LIGHTS; i ++ ) {\\nvec4 lPosition = viewMatrix * vec4( pointLightPosition[ i ], 1.0 );\\nvec3 pointVector = lPosition.xyz + vViewPosition.xyz;\\nfloat pointDistance = 1.0;\\nif ( pointLightDistance[ i ] > 0.0 )\\npointDistance = 1.0 - min( ( length( pointVector ) / pointLightDistance[ i ] ), 1.0 );\\npointVector = normalize( pointVector );\\n#ifdef WRAP_AROUND\\nfloat pointDiffuseWeightFull = max( dot( normal, pointVector ), 0.0 );\\nfloat pointDiffuseWeightHalf = max( 0.5 * dot( normal, pointVector ) + 0.5, 0.0 );\\nvec3 pointDiffuseWeight = mix( vec3 ( pointDiffuseWeightFull ), vec3( pointDiffuseWeightHalf ), wrapRGB );\\n#else\\nfloat pointDiffuseWeight = max( dot( normal, pointVector ), 0.0 );\\n#endif\\npointDiffuse += pointDistance * pointLightColor[ i ] * uDiffuseColor * pointDiffuseWeight;\\nvec3 pointHalfVector = normalize( pointVector + viewPosition );\\nfloat pointDotNormalHalf = max( dot( normal, pointHalfVector ), 0.0 );\\nfloat pointSpecularWeight = specularTex.r * max( pow( pointDotNormalHalf, uShininess ), 0.0 );\\n#ifdef PHYSICALLY_BASED_SHADING\\nfloat specularNormalization = ( uShininess + 2.0001 ) / 8.0;\\nvec3 schlick = uSpecularColor + vec3( 1.0 - uSpecularColor ) * pow( 1.0 - dot( pointVector, pointHalfVector ), 5.0 );\\npointSpecular += schlick * pointLightColor[ i ] * pointSpecularWeight * pointDiffuseWeight * pointDistance * specularNormalization;\\n#else\\npointSpecular += pointDistance * pointLightColor[ i ] * uSpecularColor * pointSpecularWeight * pointDiffuseWeight;\\n#endif\\n}\\n#endif\\n#if MAX_SPOT_LIGHTS > 0\\nvec3 spotDiffuse = vec3( 0.0 );\\nvec3 spotSpecular = vec3( 0.0 );\\nfor ( int i = 0; i < MAX_SPOT_LIGHTS; i ++ ) {\\nvec4 lPosition = viewMatrix * vec4( spotLightPosition[ i ], 1.0 );\\nvec3 spotVector = lPosition.xyz + vViewPosition.xyz;\\nfloat spotDistance = 1.0;\\nif ( spotLightDistance[ i ] > 0.0 )\\nspotDistance = 1.0 - min( ( length( spotVector ) / spotLightDistance[ i ] ), 1.0 );\\nspotVector = normalize( spotVector );\\nfloat spotEffect = dot( spotLightDirection[ i ], normalize( spotLightPosition[ i ] - vWorldPosition ) );\\nif ( spotEffect > spotLightAngleCos[ i ] ) {\\nspotEffect = max( pow( spotEffect, spotLightExponent[ i ] ), 0.0 );\\n#ifdef WRAP_AROUND\\nfloat spotDiffuseWeightFull = max( dot( normal, spotVector ), 0.0 );\\nfloat spotDiffuseWeightHalf = max( 0.5 * dot( normal, spotVector ) + 0.5, 0.0 );\\nvec3 spotDiffuseWeight = mix( vec3 ( spotDiffuseWeightFull ), vec3( spotDiffuseWeightHalf ), wrapRGB );\\n#else\\nfloat spotDiffuseWeight = max( dot( normal, spotVector ), 0.0 );\\n#endif\\nspotDiffuse += spotDistance * spotLightColor[ i ] * uDiffuseColor * spotDiffuseWeight * spotEffect;\\nvec3 spotHalfVector = normalize( spotVector + viewPosition );\\nfloat spotDotNormalHalf = max( dot( normal, spotHalfVector ), 0.0 );\\nfloat spotSpecularWeight = specularTex.r * max( pow( spotDotNormalHalf, uShininess ), 0.0 );\\n#ifdef PHYSICALLY_BASED_SHADING\\nfloat specularNormalization = ( uShininess + 2.0001 ) / 8.0;\\nvec3 schlick = uSpecularColor + vec3( 1.0 - uSpecularColor ) * pow( 1.0 - dot( spotVector, spotHalfVector ), 5.0 );\\nspotSpecular += schlick * spotLightColor[ i ] * spotSpecularWeight * spotDiffuseWeight * spotDistance * specularNormalization * spotEffect;\\n#else\\nspotSpecular += spotDistance * spotLightColor[ i ] * uSpecularColor * spotSpecularWeight * spotDiffuseWeight * spotEffect;\\n#endif\\n}\\n}\\n#endif\\n#if MAX_DIR_LIGHTS > 0\\nvec3 dirDiffuse = vec3( 0.0 );\\nvec3 dirSpecular = vec3( 0.0 );\\nfor( int i = 0; i < MAX_DIR_LIGHTS; i++ ) {\\nvec4 lDirection = viewMatrix * vec4( directionalLightDirection[ i ], 0.0 );\\nvec3 dirVector = normalize( lDirection.xyz );\\n#ifdef WRAP_AROUND\\nfloat directionalLightWeightingFull = max( dot( normal, dirVector ), 0.0 );\\nfloat directionalLightWeightingHalf = max( 0.5 * dot( normal, dirVector ) + 0.5, 0.0 );\\nvec3 dirDiffuseWeight = mix( vec3( directionalLightWeightingFull ), vec3( directionalLightWeightingHalf ), wrapRGB );\\n#else\\nfloat dirDiffuseWeight = max( dot( normal, dirVector ), 0.0 );\\n#endif\\ndirDiffuse += directionalLightColor[ i ] * uDiffuseColor * dirDiffuseWeight;\\nvec3 dirHalfVector = normalize( dirVector + viewPosition );\\nfloat dirDotNormalHalf = max( dot( normal, dirHalfVector ), 0.0 );\\nfloat dirSpecularWeight = specularTex.r * max( pow( dirDotNormalHalf, uShininess ), 0.0 );\\n#ifdef PHYSICALLY_BASED_SHADING\\nfloat specularNormalization = ( uShininess + 2.0001 ) / 8.0;\\nvec3 schlick = uSpecularColor + vec3( 1.0 - uSpecularColor ) * pow( 1.0 - dot( dirVector, dirHalfVector ), 5.0 );\\ndirSpecular += schlick * directionalLightColor[ i ] * dirSpecularWeight * dirDiffuseWeight * specularNormalization;\\n#else\\ndirSpecular += directionalLightColor[ i ] * uSpecularColor * dirSpecularWeight * dirDiffuseWeight;\\n#endif\\n}\\n#endif\\n#if MAX_HEMI_LIGHTS > 0\\nvec3 hemiDiffuse = vec3( 0.0 );\\nvec3 hemiSpecular = vec3( 0.0 );\\nfor( int i = 0; i < MAX_HEMI_LIGHTS; i ++ ) {\\nvec4 lDirection = viewMatrix * vec4( hemisphereLightDirection[ i ], 0.0 );\\nvec3 lVector = normalize( lDirection.xyz );\\nfloat dotProduct = dot( normal, lVector );\\nfloat hemiDiffuseWeight = 0.5 * dotProduct + 0.5;\\nvec3 hemiColor = mix( hemisphereLightGroundColor[ i ], hemisphereLightSkyColor[ i ], hemiDiffuseWeight );\\nhemiDiffuse += uDiffuseColor * hemiColor;\\nvec3 hemiHalfVectorSky = normalize( lVector + viewPosition );\\nfloat hemiDotNormalHalfSky = 0.5 * dot( normal, hemiHalfVectorSky ) + 0.5;\\nfloat hemiSpecularWeightSky = specularTex.r * max( pow( hemiDotNormalHalfSky, uShininess ), 0.0 );\\nvec3 lVectorGround = -lVector;\\nvec3 hemiHalfVectorGround = normalize( lVectorGround + viewPosition );\\nfloat hemiDotNormalHalfGround = 0.5 * dot( normal, hemiHalfVectorGround ) + 0.5;\\nfloat hemiSpecularWeightGround = specularTex.r * max( pow( hemiDotNormalHalfGround, uShininess ), 0.0 );\\n#ifdef PHYSICALLY_BASED_SHADING\\nfloat dotProductGround = dot( normal, lVectorGround );\\nfloat specularNormalization = ( uShininess + 2.0001 ) / 8.0;\\nvec3 schlickSky = uSpecularColor + vec3( 1.0 - uSpecularColor ) * pow( 1.0 - dot( lVector, hemiHalfVectorSky ), 5.0 );\\nvec3 schlickGround = uSpecularColor + vec3( 1.0 - uSpecularColor ) * pow( 1.0 - dot( lVectorGround, hemiHalfVectorGround ), 5.0 );\\nhemiSpecular += hemiColor * specularNormalization * ( schlickSky * hemiSpecularWeightSky * max( dotProduct, 0.0 ) + schlickGround * hemiSpecularWeightGround * max( dotProductGround, 0.0 ) );\\n#else\\nhemiSpecular += uSpecularColor * hemiColor * ( hemiSpecularWeightSky + hemiSpecularWeightGround ) * hemiDiffuseWeight;\\n#endif\\n}\\n#endif\\nvec3 totalDiffuse = vec3( 0.0 );\\nvec3 totalSpecular = vec3( 0.0 );\\n#if MAX_DIR_LIGHTS > 0\\ntotalDiffuse += dirDiffuse;\\ntotalSpecular += dirSpecular;\\n#endif\\n#if MAX_HEMI_LIGHTS > 0\\ntotalDiffuse += hemiDiffuse;\\ntotalSpecular += hemiSpecular;\\n#endif\\n#if MAX_POINT_LIGHTS > 0\\ntotalDiffuse += pointDiffuse;\\ntotalSpecular += pointSpecular;\\n#endif\\n#if MAX_SPOT_LIGHTS > 0\\ntotalDiffuse += spotDiffuse;\\ntotalSpecular += spotSpecular;\\n#endif\\n#ifdef METAL\\ngl_FragColor.xyz = gl_FragColor.xyz * ( totalDiffuse + ambientLightColor * uAmbientColor + totalSpecular );\\n#else\\ngl_FragColor.xyz = gl_FragColor.xyz * ( totalDiffuse + ambientLightColor * uAmbientColor ) + totalSpecular;\\n#endif\\nif ( enableReflection ) {\\nvec3 vReflect;\\nvec3 cameraToVertex = normalize( vWorldPosition - cameraPosition );\\nif ( useRefract ) {\\nvReflect = refract( cameraToVertex, normal, uRefractionRatio );\\n} else {\\nvReflect = reflect( cameraToVertex, normal );\\n}\\nvec4 cubeColor = textureCube( tCube, vec3( -vReflect.x, vReflect.yz ) );\\n#ifdef GAMMA_INPUT\\ncubeColor.xyz *= cubeColor.xyz;\\n#endif\\ngl_FragColor.xyz = mix( gl_FragColor.xyz, cubeColor.xyz, specularTex.r * uReflectivity );\\n}\",\r\n THREE.ShaderChunk.shadowmap_fragment,\r\n THREE.ShaderChunk.linear_to_gamma_fragment,\r\n THREE.ShaderChunk.fog_fragment,\r\n \"}\"\r\n ].join(\"\\n\"),\r\n vertexShader: [\r\n \"attribute vec4 tangent;\\nuniform vec2 uOffset;\\nuniform vec2 uRepeat;\\nuniform bool enableDisplacement;\\n#ifdef VERTEX_TEXTURES\\nuniform sampler2D tDisplacement;\\nuniform float uDisplacementScale;\\nuniform float uDisplacementBias;\\n#endif\\nvarying vec3 vTangent;\\nvarying vec3 vBinormal;\\nvarying vec3 vNormal;\\nvarying vec2 vUv;\\nvarying vec3 vWorldPosition;\\nvarying vec3 vViewPosition;\",\r\n THREE.ShaderChunk.skinning_pars_vertex,\r\n THREE.ShaderChunk.shadowmap_pars_vertex,\r\n \"void main() {\",\r\n THREE.ShaderChunk.skinbase_vertex,\r\n THREE.ShaderChunk.skinnormal_vertex,\r\n \"#ifdef USE_SKINNING\\nvNormal = normalize( normalMatrix * skinnedNormal.xyz );\\nvec4 skinnedTangent = skinMatrix * vec4( tangent.xyz, 0.0 );\\nvTangent = normalize( normalMatrix * skinnedTangent.xyz );\\n#else\\nvNormal = normalize( normalMatrix * normal );\\nvTangent = normalize( normalMatrix * tangent.xyz );\\n#endif\\nvBinormal = normalize( cross( vNormal, vTangent ) * tangent.w );\\nvUv = uv * uRepeat + uOffset;\\nvec3 displacedPosition;\\n#ifdef VERTEX_TEXTURES\\nif ( enableDisplacement ) {\\nvec3 dv = texture2D( tDisplacement, uv ).xyz;\\nfloat df = uDisplacementScale * dv.x + uDisplacementBias;\\ndisplacedPosition = position + normalize( normal ) * df;\\n} else {\\n#ifdef USE_SKINNING\\nvec4 skinVertex = vec4( position, 1.0 );\\nvec4 skinned = boneMatX * skinVertex * skinWeight.x;\\nskinned \\t += boneMatY * skinVertex * skinWeight.y;\\ndisplacedPosition = skinned.xyz;\\n#else\\ndisplacedPosition = position;\\n#endif\\n}\\n#else\\n#ifdef USE_SKINNING\\nvec4 skinVertex = vec4( position, 1.0 );\\nvec4 skinned = boneMatX * skinVertex * skinWeight.x;\\nskinned \\t += boneMatY * skinVertex * skinWeight.y;\\ndisplacedPosition = skinned.xyz;\\n#else\\ndisplacedPosition = position;\\n#endif\\n#endif\\nvec4 mvPosition = modelViewMatrix * vec4( displacedPosition, 1.0 );\\nvec4 worldPosition = modelMatrix * vec4( displacedPosition, 1.0 );\\ngl_Position = projectionMatrix * mvPosition;\\nvWorldPosition = worldPosition.xyz;\\nvViewPosition = -mvPosition.xyz;\\n#ifdef USE_SHADOWMAP\\nfor( int i = 0; i < MAX_SHADOWS; i ++ ) {\\nvShadowCoord[ i ] = shadowMatrix[ i ] * worldPosition;\\n}\\n#endif\\n}\"\r\n ].join(\"\\n\")\r\n },\r\n cube: {\r\n uniforms: {\r\n tCube: { type: \"t\", value: null },\r\n tFlip: { type: \"f\", value: -1 }\r\n },\r\n vertexShader:\r\n \"varying vec3 vWorldPosition;\\nvoid main() {\\nvec4 worldPosition = modelMatrix * vec4( position, 1.0 );\\nvWorldPosition = worldPosition.xyz;\\ngl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\\n}\",\r\n fragmentShader:\r\n \"uniform samplerCube tCube;\\nuniform float tFlip;\\nvarying vec3 vWorldPosition;\\nvoid main() {\\ngl_FragColor = textureCube( tCube, vec3( tFlip * vWorldPosition.x, vWorldPosition.yz ) );\\n}\"\r\n },\r\n depthRGBA: {\r\n uniforms: {},\r\n vertexShader: [\r\n THREE.ShaderChunk.morphtarget_pars_vertex,\r\n THREE.ShaderChunk.skinning_pars_vertex,\r\n \"void main() {\",\r\n THREE.ShaderChunk.skinbase_vertex,\r\n THREE.ShaderChunk.morphtarget_vertex,\r\n THREE.ShaderChunk.skinning_vertex,\r\n THREE.ShaderChunk.default_vertex,\r\n \"}\"\r\n ].join(\"\\n\"),\r\n fragmentShader:\r\n \"vec4 pack_depth( const in float depth ) {\\nconst vec4 bit_shift = vec4( 256.0 * 256.0 * 256.0, 256.0 * 256.0, 256.0, 1.0 );\\nconst vec4 bit_mask = vec4( 0.0, 1.0 / 256.0, 1.0 / 256.0, 1.0 / 256.0 );\\nvec4 res = fract( depth * bit_shift );\\nres -= res.xxyz * bit_mask;\\nreturn res;\\n}\\nvoid main() {\\ngl_FragData[ 0 ] = pack_depth( gl_FragCoord.z );\\n}\"\r\n }\r\n};\r\nTHREE.WebGLRenderer = function(a) {\r\n function b(a) {\r\n if (a.__webglCustomAttributesList)\r\n for (var b in a.__webglCustomAttributesList)\r\n j.deleteBuffer(a.__webglCustomAttributesList[b].buffer);\r\n }\r\n function c(a, b) {\r\n var c = a.vertices.length,\r\n d = b.material;\r\n if (d.attributes) {\r\n void 0 === a.__webglCustomAttributesList &&\r\n (a.__webglCustomAttributesList = []);\r\n for (var e in d.attributes) {\r\n var f = d.attributes[e];\r\n if (!f.__webglInitialized || f.createUniqueBuffers) {\r\n f.__webglInitialized = !0;\r\n var g = 1;\r\n \"v2\" === f.type\r\n ? (g = 2)\r\n : \"v3\" === f.type\r\n ? (g = 3)\r\n : \"v4\" === f.type\r\n ? (g = 4)\r\n : \"c\" === f.type && (g = 3);\r\n f.size = g;\r\n f.array = new Float32Array(c * g);\r\n f.buffer = j.createBuffer();\r\n f.buffer.belongsToAttribute = e;\r\n f.needsUpdate = !0;\r\n }\r\n a.__webglCustomAttributesList.push(f);\r\n }\r\n }\r\n }\r\n function d(a, b) {\r\n var c = b.geometry,\r\n d = a.faces3,\r\n h = a.faces4,\r\n i = 3 * d.length + 4 * h.length,\r\n k = 1 * d.length + 2 * h.length,\r\n h = 3 * d.length + 4 * h.length,\r\n d = e(b, a),\r\n n = g(d),\r\n l = f(d),\r\n m = d.vertexColors ? d.vertexColors : !1;\r\n a.__vertexArray = new Float32Array(3 * i);\r\n l && (a.__normalArray = new Float32Array(3 * i));\r\n c.hasTangents && (a.__tangentArray = new Float32Array(4 * i));\r\n m && (a.__colorArray = new Float32Array(3 * i));\r\n if (n) {\r\n if (0 < c.faceUvs.length || 0 < c.faceVertexUvs.length)\r\n a.__uvArray = new Float32Array(2 * i);\r\n if (1 < c.faceUvs.length || 1 < c.faceVertexUvs.length)\r\n a.__uv2Array = new Float32Array(2 * i);\r\n }\r\n b.geometry.skinWeights.length &&\r\n b.geometry.skinIndices.length &&\r\n ((a.__skinIndexArray = new Float32Array(4 * i)),\r\n (a.__skinWeightArray = new Float32Array(4 * i)));\r\n a.__faceArray = new Uint16Array(3 * k);\r\n a.__lineArray = new Uint16Array(2 * h);\r\n if (a.numMorphTargets) {\r\n a.__morphTargetsArrays = [];\r\n c = 0;\r\n for (n = a.numMorphTargets; c < n; c++)\r\n a.__morphTargetsArrays.push(new Float32Array(3 * i));\r\n }\r\n if (a.numMorphNormals) {\r\n a.__morphNormalsArrays = [];\r\n c = 0;\r\n for (n = a.numMorphNormals; c < n; c++)\r\n a.__morphNormalsArrays.push(new Float32Array(3 * i));\r\n }\r\n a.__webglFaceCount = 3 * k;\r\n a.__webglLineCount = 2 * h;\r\n if (d.attributes) {\r\n void 0 === a.__webglCustomAttributesList &&\r\n (a.__webglCustomAttributesList = []);\r\n for (var p in d.attributes) {\r\n var k = d.attributes[p],\r\n c = {},\r\n q;\r\n for (q in k) c[q] = k[q];\r\n if (!c.__webglInitialized || c.createUniqueBuffers)\r\n (c.__webglInitialized = !0),\r\n (h = 1),\r\n \"v2\" === c.type\r\n ? (h = 2)\r\n : \"v3\" === c.type\r\n ? (h = 3)\r\n : \"v4\" === c.type\r\n ? (h = 4)\r\n : \"c\" === c.type && (h = 3),\r\n (c.size = h),\r\n (c.array = new Float32Array(i * h)),\r\n (c.buffer = j.createBuffer()),\r\n (c.buffer.belongsToAttribute = p),\r\n (k.needsUpdate = !0),\r\n (c.__original = k);\r\n a.__webglCustomAttributesList.push(c);\r\n }\r\n }\r\n a.__inittedArrays = !0;\r\n }\r\n function e(a, b) {\r\n return a.material instanceof THREE.MeshFaceMaterial\r\n ? a.material.materials[b.materialIndex]\r\n : a.material;\r\n }\r\n function f(a) {\r\n return (a instanceof THREE.MeshBasicMaterial && !a.envMap) ||\r\n a instanceof THREE.MeshDepthMaterial\r\n ? !1\r\n : a && void 0 !== a.shading && a.shading === THREE.SmoothShading\r\n ? THREE.SmoothShading\r\n : THREE.FlatShading;\r\n }\r\n function g(a) {\r\n return a.map ||\r\n a.lightMap ||\r\n a.bumpMap ||\r\n a.normalMap ||\r\n a.specularMap ||\r\n a instanceof THREE.ShaderMaterial\r\n ? !0\r\n : !1;\r\n }\r\n function h(a) {\r\n var b, c, d;\r\n for (b in a.attributes)\r\n (d = \"index\" === b ? j.ELEMENT_ARRAY_BUFFER : j.ARRAY_BUFFER),\r\n (c = a.attributes[b]),\r\n (c.buffer = j.createBuffer()),\r\n j.bindBuffer(d, c.buffer),\r\n j.bufferData(d, c.array, j.STATIC_DRAW);\r\n }\r\n function i(a, b, c) {\r\n var d = a.attributes,\r\n e = d.index,\r\n f = d.position,\r\n g = d.normal,\r\n h = d.uv,\r\n i = d.color,\r\n d = d.tangent;\r\n a.elementsNeedUpdate &&\r\n void 0 !== e &&\r\n (j.bindBuffer(j.ELEMENT_ARRAY_BUFFER, e.buffer),\r\n j.bufferData(j.ELEMENT_ARRAY_BUFFER, e.array, b));\r\n a.verticesNeedUpdate &&\r\n void 0 !== f &&\r\n (j.bindBuffer(j.ARRAY_BUFFER, f.buffer),\r\n j.bufferData(j.ARRAY_BUFFER, f.array, b));\r\n a.normalsNeedUpdate &&\r\n void 0 !== g &&\r\n (j.bindBuffer(j.ARRAY_BUFFER, g.buffer),\r\n j.bufferData(j.ARRAY_BUFFER, g.array, b));\r\n a.uvsNeedUpdate &&\r\n void 0 !== h &&\r\n (j.bindBuffer(j.ARRAY_BUFFER, h.buffer),\r\n j.bufferData(j.ARRAY_BUFFER, h.array, b));\r\n a.colorsNeedUpdate &&\r\n void 0 !== i &&\r\n (j.bindBuffer(j.ARRAY_BUFFER, i.buffer),\r\n j.bufferData(j.ARRAY_BUFFER, i.array, b));\r\n a.tangentsNeedUpdate &&\r\n void 0 !== d &&\r\n (j.bindBuffer(j.ARRAY_BUFFER, d.buffer),\r\n j.bufferData(j.ARRAY_BUFFER, d.array, b));\r\n if (c) for (var k in a.attributes) delete a.attributes[k].array;\r\n }\r\n function k(a) {\r\n Ka[a] || (j.enableVertexAttribArray(a), (Ka[a] = !0));\r\n }\r\n function l() {\r\n for (var a in Ka) Ka[a] && (j.disableVertexAttribArray(a), (Ka[a] = !1));\r\n }\r\n function m(a, b) {\r\n return a.z !== b.z ? b.z - a.z : b.id - a.id;\r\n }\r\n function n(a, b) {\r\n return b[0] - a[0];\r\n }\r\n function s(a, b, c) {\r\n if (a.length)\r\n for (var d = 0, e = a.length; d < e; d++)\r\n (aa = mb = null),\r\n (ta = ka = la = da = Wa = ia = Z = -1),\r\n (bb = !0),\r\n a[d].render(b, c, mc, pb),\r\n (aa = mb = null),\r\n (ta = ka = la = da = Wa = ia = Z = -1),\r\n (bb = !0);\r\n }\r\n function r(a, b, c, d, e, f, g, j) {\r\n var h, i, k, n;\r\n b ? ((i = a.length - 1), (n = b = -1)) : ((i = 0), (b = a.length), (n = 1));\r\n for (var l = i; l !== b; l += n)\r\n if (((h = a[l]), h.render)) {\r\n i = h.object;\r\n k = h.buffer;\r\n if (j) h = j;\r\n else {\r\n h = h[c];\r\n if (!h) continue;\r\n g &&\r\n N.setBlending(h.blending, h.blendEquation, h.blendSrc, h.blendDst);\r\n N.setDepthTest(h.depthTest);\r\n N.setDepthWrite(h.depthWrite);\r\n E(h.polygonOffset, h.polygonOffsetFactor, h.polygonOffsetUnits);\r\n }\r\n N.setMaterialFaces(h);\r\n k instanceof THREE.BufferGeometry\r\n ? N.renderBufferDirect(d, e, f, h, k, i)\r\n : N.renderBuffer(d, e, f, h, k, i);\r\n }\r\n }\r\n function p(a, b, c, d, e, f, g) {\r\n for (var h, j, i = 0, k = a.length; i < k; i++)\r\n if (((h = a[i]), (j = h.object), j.visible)) {\r\n if (g) h = g;\r\n else {\r\n h = h[b];\r\n if (!h) continue;\r\n f &&\r\n N.setBlending(h.blending, h.blendEquation, h.blendSrc, h.blendDst);\r\n N.setDepthTest(h.depthTest);\r\n N.setDepthWrite(h.depthWrite);\r\n E(h.polygonOffset, h.polygonOffsetFactor, h.polygonOffsetUnits);\r\n }\r\n N.renderImmediateObject(c, d, e, h, j);\r\n }\r\n }\r\n function q(a, b, c) {\r\n a.push({ buffer: b, object: c, opaque: null, transparent: null });\r\n }\r\n function y(a) {\r\n for (var b in a.attributes) if (a.attributes[b].needsUpdate) return !0;\r\n return !1;\r\n }\r\n function v(a) {\r\n for (var b in a.attributes) a.attributes[b].needsUpdate = !1;\r\n }\r\n function z(a, b) {\r\n for (var c = a.length - 1; 0 <= c; c--) a[c].object === b && a.splice(c, 1);\r\n }\r\n function t(a, b) {\r\n for (var c = a.length - 1; 0 <= c; c--) a[c] === b && a.splice(c, 1);\r\n }\r\n function A(a, b, c, d, e) {\r\n Y = 0;\r\n d.needsUpdate &&\r\n (d.program && Pc(d), N.initMaterial(d, b, c, e), (d.needsUpdate = !1));\r\n d.morphTargets &&\r\n !e.__webglMorphTargetInfluences &&\r\n (e.__webglMorphTargetInfluences = new Float32Array(N.maxMorphTargets));\r\n var f = !1,\r\n g = d.program,\r\n h = g.uniforms,\r\n i = d.uniforms;\r\n g !== mb && (j.useProgram(g), (mb = g), (f = !0));\r\n d.id !== ta && ((ta = d.id), (f = !0));\r\n if (f || a !== aa)\r\n j.uniformMatrix4fv(h.projectionMatrix, !1, a.projectionMatrix.elements),\r\n a !== aa && (aa = a);\r\n if (d.skinning)\r\n if (tc && e.useVertexTexture) {\r\n if (null !== h.boneTexture) {\r\n var k = I();\r\n j.uniform1i(h.boneTexture, k);\r\n N.setTexture(e.boneTexture, k);\r\n }\r\n } else\r\n null !== h.boneGlobalMatrices &&\r\n j.uniformMatrix4fv(h.boneGlobalMatrices, !1, e.boneMatrices);\r\n if (f) {\r\n c &&\r\n d.fog &&\r\n ((i.fogColor.value = c.color),\r\n c instanceof THREE.Fog\r\n ? ((i.fogNear.value = c.near), (i.fogFar.value = c.far))\r\n : c instanceof THREE.FogExp2 && (i.fogDensity.value = c.density));\r\n if (\r\n d instanceof THREE.MeshPhongMaterial ||\r\n d instanceof THREE.MeshLambertMaterial ||\r\n d.lights\r\n ) {\r\n if (bb) {\r\n for (\r\n var n,\r\n l = (k = 0),\r\n m = 0,\r\n p,\r\n q,\r\n s,\r\n r = xb,\r\n t = r.directional.colors,\r\n v = r.directional.positions,\r\n y = r.point.colors,\r\n z = r.point.positions,\r\n B = r.point.distances,\r\n C = r.spot.colors,\r\n A = r.spot.positions,\r\n F = r.spot.distances,\r\n E = r.spot.directions,\r\n J = r.spot.anglesCos,\r\n K = r.spot.exponents,\r\n H = r.hemi.skyColors,\r\n M = r.hemi.groundColors,\r\n P = r.hemi.positions,\r\n X = 0,\r\n da = 0,\r\n ka = 0,\r\n fa = 0,\r\n ca = 0,\r\n pa = 0,\r\n Ma = 0,\r\n ha = 0,\r\n O = (n = 0),\r\n c = (s = O = 0),\r\n f = b.length;\r\n c < f;\r\n c++\r\n )\r\n (n = b[c]),\r\n n.onlyShadow ||\r\n ((p = n.color),\r\n (q = n.intensity),\r\n (s = n.distance),\r\n n instanceof THREE.AmbientLight\r\n ? n.visible &&\r\n (N.gammaInput\r\n ? ((k += p.r * p.r), (l += p.g * p.g), (m += p.b * p.b))\r\n : ((k += p.r), (l += p.g), (m += p.b)))\r\n : n instanceof THREE.DirectionalLight\r\n ? ((ca += 1),\r\n n.visible &&\r\n (La.getPositionFromMatrix(n.matrixWorld),\r\n Qa.getPositionFromMatrix(n.target.matrixWorld),\r\n La.sub(Qa),\r\n La.normalize(),\r\n (0 === La.x && 0 === La.y && 0 === La.z) ||\r\n ((n = 3 * X),\r\n (v[n] = La.x),\r\n (v[n + 1] = La.y),\r\n (v[n + 2] = La.z),\r\n N.gammaInput ? x(t, n, p, q * q) : G(t, n, p, q),\r\n (X += 1))))\r\n : n instanceof THREE.PointLight\r\n ? ((pa += 1),\r\n n.visible &&\r\n ((O = 3 * da),\r\n N.gammaInput ? x(y, O, p, q * q) : G(y, O, p, q),\r\n Qa.getPositionFromMatrix(n.matrixWorld),\r\n (z[O] = Qa.x),\r\n (z[O + 1] = Qa.y),\r\n (z[O + 2] = Qa.z),\r\n (B[da] = s),\r\n (da += 1)))\r\n : n instanceof THREE.SpotLight\r\n ? ((Ma += 1),\r\n n.visible &&\r\n ((O = 3 * ka),\r\n N.gammaInput ? x(C, O, p, q * q) : G(C, O, p, q),\r\n Qa.getPositionFromMatrix(n.matrixWorld),\r\n (A[O] = Qa.x),\r\n (A[O + 1] = Qa.y),\r\n (A[O + 2] = Qa.z),\r\n (F[ka] = s),\r\n La.copy(Qa),\r\n Qa.getPositionFromMatrix(n.target.matrixWorld),\r\n La.sub(Qa),\r\n La.normalize(),\r\n (E[O] = La.x),\r\n (E[O + 1] = La.y),\r\n (E[O + 2] = La.z),\r\n (J[ka] = Math.cos(n.angle)),\r\n (K[ka] = n.exponent),\r\n (ka += 1)))\r\n : n instanceof THREE.HemisphereLight &&\r\n ((ha += 1),\r\n n.visible &&\r\n (La.getPositionFromMatrix(n.matrixWorld),\r\n La.normalize(),\r\n (0 === La.x && 0 === La.y && 0 === La.z) ||\r\n ((s = 3 * fa),\r\n (P[s] = La.x),\r\n (P[s + 1] = La.y),\r\n (P[s + 2] = La.z),\r\n (p = n.color),\r\n (n = n.groundColor),\r\n N.gammaInput\r\n ? ((q *= q), x(H, s, p, q), x(M, s, n, q))\r\n : (G(H, s, p, q), G(M, s, n, q)),\r\n (fa += 1)))));\r\n c = 3 * X;\r\n for (f = Math.max(t.length, 3 * ca); c < f; c++) t[c] = 0;\r\n c = 3 * da;\r\n for (f = Math.max(y.length, 3 * pa); c < f; c++) y[c] = 0;\r\n c = 3 * ka;\r\n for (f = Math.max(C.length, 3 * Ma); c < f; c++) C[c] = 0;\r\n c = 3 * fa;\r\n for (f = Math.max(H.length, 3 * ha); c < f; c++) H[c] = 0;\r\n c = 3 * fa;\r\n for (f = Math.max(M.length, 3 * ha); c < f; c++) M[c] = 0;\r\n r.directional.length = X;\r\n r.point.length = da;\r\n r.spot.length = ka;\r\n r.hemi.length = fa;\r\n r.ambient[0] = k;\r\n r.ambient[1] = l;\r\n r.ambient[2] = m;\r\n bb = !1;\r\n }\r\n c = xb;\r\n i.ambientLightColor.value = c.ambient;\r\n i.directionalLightColor.value = c.directional.colors;\r\n i.directionalLightDirection.value = c.directional.positions;\r\n i.pointLightColor.value = c.point.colors;\r\n i.pointLightPosition.value = c.point.positions;\r\n i.pointLightDistance.value = c.point.distances;\r\n i.spotLightColor.value = c.spot.colors;\r\n i.spotLightPosition.value = c.spot.positions;\r\n i.spotLightDistance.value = c.spot.distances;\r\n i.spotLightDirection.value = c.spot.directions;\r\n i.spotLightAngleCos.value = c.spot.anglesCos;\r\n i.spotLightExponent.value = c.spot.exponents;\r\n i.hemisphereLightSkyColor.value = c.hemi.skyColors;\r\n i.hemisphereLightGroundColor.value = c.hemi.groundColors;\r\n i.hemisphereLightDirection.value = c.hemi.positions;\r\n }\r\n if (\r\n d instanceof THREE.MeshBasicMaterial ||\r\n d instanceof THREE.MeshLambertMaterial ||\r\n d instanceof THREE.MeshPhongMaterial\r\n ) {\r\n i.opacity.value = d.opacity;\r\n N.gammaInput\r\n ? i.diffuse.value.copyGammaToLinear(d.color)\r\n : (i.diffuse.value = d.color);\r\n i.map.value = d.map;\r\n i.lightMap.value = d.lightMap;\r\n i.specularMap.value = d.specularMap;\r\n d.bumpMap &&\r\n ((i.bumpMap.value = d.bumpMap), (i.bumpScale.value = d.bumpScale));\r\n d.normalMap &&\r\n ((i.normalMap.value = d.normalMap),\r\n i.normalScale.value.copy(d.normalScale));\r\n var Z;\r\n d.map\r\n ? (Z = d.map)\r\n : d.specularMap\r\n ? (Z = d.specularMap)\r\n : d.normalMap\r\n ? (Z = d.normalMap)\r\n : d.bumpMap && (Z = d.bumpMap);\r\n void 0 !== Z &&\r\n ((c = Z.offset),\r\n (Z = Z.repeat),\r\n i.offsetRepeat.value.set(c.x, c.y, Z.x, Z.y));\r\n i.envMap.value = d.envMap;\r\n i.flipEnvMap.value =\r\n d.envMap instanceof THREE.WebGLRenderTargetCube ? 1 : -1;\r\n i.reflectivity.value = d.reflectivity;\r\n i.refractionRatio.value = d.refractionRatio;\r\n i.combine.value = d.combine;\r\n i.useRefract.value =\r\n d.envMap && d.envMap.mapping instanceof THREE.CubeRefractionMapping;\r\n }\r\n d instanceof THREE.LineBasicMaterial\r\n ? ((i.diffuse.value = d.color), (i.opacity.value = d.opacity))\r\n : d instanceof THREE.LineDashedMaterial\r\n ? ((i.diffuse.value = d.color),\r\n (i.opacity.value = d.opacity),\r\n (i.dashSize.value = d.dashSize),\r\n (i.totalSize.value = d.dashSize + d.gapSize),\r\n (i.scale.value = d.scale))\r\n : d instanceof THREE.ParticleBasicMaterial\r\n ? ((i.psColor.value = d.color),\r\n (i.opacity.value = d.opacity),\r\n (i.size.value = d.size),\r\n (i.scale.value = U.height / 2),\r\n (i.map.value = d.map))\r\n : d instanceof THREE.MeshPhongMaterial\r\n ? ((i.shininess.value = d.shininess),\r\n N.gammaInput\r\n ? (i.ambient.value.copyGammaToLinear(d.ambient),\r\n i.emissive.value.copyGammaToLinear(d.emissive),\r\n i.specular.value.copyGammaToLinear(d.specular))\r\n : ((i.ambient.value = d.ambient),\r\n (i.emissive.value = d.emissive),\r\n (i.specular.value = d.specular)),\r\n d.wrapAround && i.wrapRGB.value.copy(d.wrapRGB))\r\n : d instanceof THREE.MeshLambertMaterial\r\n ? (N.gammaInput\r\n ? (i.ambient.value.copyGammaToLinear(d.ambient),\r\n i.emissive.value.copyGammaToLinear(d.emissive))\r\n : ((i.ambient.value = d.ambient), (i.emissive.value = d.emissive)),\r\n d.wrapAround && i.wrapRGB.value.copy(d.wrapRGB))\r\n : d instanceof THREE.MeshDepthMaterial\r\n ? ((i.mNear.value = a.near),\r\n (i.mFar.value = a.far),\r\n (i.opacity.value = d.opacity))\r\n : d instanceof THREE.MeshNormalMaterial &&\r\n (i.opacity.value = d.opacity);\r\n if (e.receiveShadow && !d._shadowPass && i.shadowMatrix) {\r\n c = Z = 0;\r\n for (f = b.length; c < f; c++)\r\n if (\r\n ((k = b[c]),\r\n k.castShadow &&\r\n (k instanceof THREE.SpotLight ||\r\n (k instanceof THREE.DirectionalLight && !k.shadowCascade)))\r\n )\r\n (i.shadowMap.value[Z] = k.shadowMap),\r\n (i.shadowMapSize.value[Z] = k.shadowMapSize),\r\n (i.shadowMatrix.value[Z] = k.shadowMatrix),\r\n (i.shadowDarkness.value[Z] = k.shadowDarkness),\r\n (i.shadowBias.value[Z] = k.shadowBias),\r\n Z++;\r\n }\r\n b = d.uniformsList;\r\n i = 0;\r\n for (Z = b.length; i < Z; i++)\r\n if ((f = g.uniforms[b[i][1]]))\r\n if (((c = b[i][0]), (l = c.type), (k = c.value), \"i\" === l))\r\n j.uniform1i(f, k);\r\n else if (\"f\" === l) j.uniform1f(f, k);\r\n else if (\"v2\" === l) j.uniform2f(f, k.x, k.y);\r\n else if (\"v3\" === l) j.uniform3f(f, k.x, k.y, k.z);\r\n else if (\"v4\" === l) j.uniform4f(f, k.x, k.y, k.z, k.w);\r\n else if (\"c\" === l) j.uniform3f(f, k.r, k.g, k.b);\r\n else if (\"iv1\" === l) j.uniform1iv(f, k);\r\n else if (\"iv\" === l) j.uniform3iv(f, k);\r\n else if (\"fv1\" === l) j.uniform1fv(f, k);\r\n else if (\"fv\" === l) j.uniform3fv(f, k);\r\n else if (\"v2v\" === l) {\r\n void 0 === c._array && (c._array = new Float32Array(2 * k.length));\r\n l = 0;\r\n for (m = k.length; l < m; l++)\r\n (r = 2 * l), (c._array[r] = k[l].x), (c._array[r + 1] = k[l].y);\r\n j.uniform2fv(f, c._array);\r\n } else if (\"v3v\" === l) {\r\n void 0 === c._array && (c._array = new Float32Array(3 * k.length));\r\n l = 0;\r\n for (m = k.length; l < m; l++)\r\n (r = 3 * l),\r\n (c._array[r] = k[l].x),\r\n (c._array[r + 1] = k[l].y),\r\n (c._array[r + 2] = k[l].z);\r\n j.uniform3fv(f, c._array);\r\n } else if (\"v4v\" === l) {\r\n void 0 === c._array && (c._array = new Float32Array(4 * k.length));\r\n l = 0;\r\n for (m = k.length; l < m; l++)\r\n (r = 4 * l),\r\n (c._array[r] = k[l].x),\r\n (c._array[r + 1] = k[l].y),\r\n (c._array[r + 2] = k[l].z),\r\n (c._array[r + 3] = k[l].w);\r\n j.uniform4fv(f, c._array);\r\n } else if (\"m4\" === l)\r\n void 0 === c._array && (c._array = new Float32Array(16)),\r\n k.flattenToArray(c._array),\r\n j.uniformMatrix4fv(f, !1, c._array);\r\n else if (\"m4v\" === l) {\r\n void 0 === c._array && (c._array = new Float32Array(16 * k.length));\r\n l = 0;\r\n for (m = k.length; l < m; l++)\r\n k[l].flattenToArrayOffset(c._array, 16 * l);\r\n j.uniformMatrix4fv(f, !1, c._array);\r\n } else if (\"t\" === l) {\r\n if (((r = k), (k = I()), j.uniform1i(f, k), r))\r\n if (r.image instanceof Array && 6 === r.image.length) {\r\n if (((c = r), (f = k), 6 === c.image.length))\r\n if (c.needsUpdate) {\r\n c.image.__webglTextureCube ||\r\n ((c.image.__webglTextureCube = j.createTexture()),\r\n N.info.memory.textures++);\r\n j.activeTexture(j.TEXTURE0 + f);\r\n j.bindTexture(\r\n j.TEXTURE_CUBE_MAP,\r\n c.image.__webglTextureCube\r\n );\r\n j.pixelStorei(j.UNPACK_FLIP_Y_WEBGL, c.flipY);\r\n f = c instanceof THREE.CompressedTexture;\r\n k = [];\r\n for (l = 0; 6 > l; l++)\r\n N.autoScaleCubemaps && !f\r\n ? ((m = k),\r\n (r = l),\r\n (t = c.image[l]),\r\n (y = gd),\r\n (t.width <= y && t.height <= y) ||\r\n ((z = Math.max(t.width, t.height)),\r\n (v = Math.floor((t.width * y) / z)),\r\n (y = Math.floor((t.height * y) / z)),\r\n (z = document.createElement(\"canvas\")),\r\n (z.width = v),\r\n (z.height = y),\r\n z\r\n .getContext(\"2d\")\r\n .drawImage(\r\n t,\r\n 0,\r\n 0,\r\n t.width,\r\n t.height,\r\n 0,\r\n 0,\r\n v,\r\n y\r\n ),\r\n (t = z)),\r\n (m[r] = t))\r\n : (k[l] = c.image[l]);\r\n l = k[0];\r\n m =\r\n 0 === (l.width & (l.width - 1)) &&\r\n 0 === (l.height & (l.height - 1));\r\n r = L(c.format);\r\n t = L(c.type);\r\n W(j.TEXTURE_CUBE_MAP, c, m);\r\n for (l = 0; 6 > l; l++)\r\n if (f) {\r\n y = k[l].mipmaps;\r\n z = 0;\r\n for (B = y.length; z < B; z++)\r\n (v = y[z]),\r\n j.compressedTexImage2D(\r\n j.TEXTURE_CUBE_MAP_POSITIVE_X + l,\r\n z,\r\n r,\r\n v.width,\r\n v.height,\r\n 0,\r\n v.data\r\n );\r\n } else\r\n j.texImage2D(\r\n j.TEXTURE_CUBE_MAP_POSITIVE_X + l,\r\n 0,\r\n r,\r\n r,\r\n t,\r\n k[l]\r\n );\r\n c.generateMipmaps &&\r\n m &&\r\n j.generateMipmap(j.TEXTURE_CUBE_MAP);\r\n c.needsUpdate = !1;\r\n if (c.onUpdate) c.onUpdate();\r\n } else\r\n j.activeTexture(j.TEXTURE0 + f),\r\n j.bindTexture(\r\n j.TEXTURE_CUBE_MAP,\r\n c.image.__webglTextureCube\r\n );\r\n } else\r\n r instanceof THREE.WebGLRenderTargetCube\r\n ? ((c = r),\r\n j.activeTexture(j.TEXTURE0 + k),\r\n j.bindTexture(j.TEXTURE_CUBE_MAP, c.__webglTexture))\r\n : N.setTexture(r, k);\r\n } else if (\"tv\" === l) {\r\n void 0 === c._array && (c._array = []);\r\n l = 0;\r\n for (m = c.value.length; l < m; l++) c._array[l] = I();\r\n j.uniform1iv(f, c._array);\r\n l = 0;\r\n for (m = c.value.length; l < m; l++)\r\n (r = c.value[l]), (k = c._array[l]), r && N.setTexture(r, k);\r\n }\r\n if (\r\n (d instanceof THREE.ShaderMaterial ||\r\n d instanceof THREE.MeshPhongMaterial ||\r\n d.envMap) &&\r\n null !== h.cameraPosition\r\n )\r\n Qa.getPositionFromMatrix(a.matrixWorld),\r\n j.uniform3f(h.cameraPosition, Qa.x, Qa.y, Qa.z);\r\n (d instanceof THREE.MeshPhongMaterial ||\r\n d instanceof THREE.MeshLambertMaterial ||\r\n d instanceof THREE.ShaderMaterial ||\r\n d.skinning) &&\r\n null !== h.viewMatrix &&\r\n j.uniformMatrix4fv(h.viewMatrix, !1, a.matrixWorldInverse.elements);\r\n }\r\n j.uniformMatrix4fv(h.modelViewMatrix, !1, e._modelViewMatrix.elements);\r\n h.normalMatrix &&\r\n j.uniformMatrix3fv(h.normalMatrix, !1, e._normalMatrix.elements);\r\n null !== h.modelMatrix &&\r\n j.uniformMatrix4fv(h.modelMatrix, !1, e.matrixWorld.elements);\r\n return g;\r\n }\r\n function I() {\r\n var a = Y;\r\n a >= Mc &&\r\n console.warn(\r\n \"WebGLRenderer: trying to use \" +\r\n a +\r\n \" texture units while this GPU supports only \" +\r\n Mc\r\n );\r\n Y += 1;\r\n return a;\r\n }\r\n function C(a, b) {\r\n a._modelViewMatrix.multiplyMatrices(b.matrixWorldInverse, a.matrixWorld);\r\n a._normalMatrix.getInverse(a._modelViewMatrix);\r\n a._normalMatrix.transpose();\r\n }\r\n function x(a, b, c, d) {\r\n a[b] = c.r * c.r * d;\r\n a[b + 1] = c.g * c.g * d;\r\n a[b + 2] = c.b * c.b * d;\r\n }\r\n function G(a, b, c, d) {\r\n a[b] = c.r * d;\r\n a[b + 1] = c.g * d;\r\n a[b + 2] = c.b * d;\r\n }\r\n function J(a) {\r\n a !== ub && (j.lineWidth(a), (ub = a));\r\n }\r\n function E(a, b, c) {\r\n ab !== a &&\r\n (a ? j.enable(j.POLYGON_OFFSET_FILL) : j.disable(j.POLYGON_OFFSET_FILL),\r\n (ab = a));\r\n if (a && (Fa !== b || Xa !== c)) j.polygonOffset(b, c), (Fa = b), (Xa = c);\r\n }\r\n function H(a) {\r\n for (var a = a.split(\"\\n\"), b = 0, c = a.length; b < c; b++)\r\n a[b] = b + 1 + \": \" + a[b];\r\n return a.join(\"\\n\");\r\n }\r\n function B(a, b) {\r\n var c;\r\n \"fragment\" === a\r\n ? (c = j.createShader(j.FRAGMENT_SHADER))\r\n : \"vertex\" === a && (c = j.createShader(j.VERTEX_SHADER));\r\n j.shaderSource(c, b);\r\n j.compileShader(c);\r\n return !j.getShaderParameter(c, j.COMPILE_STATUS)\r\n ? (console.error(j.getShaderInfoLog(c)), console.error(H(b)), null)\r\n : c;\r\n }\r\n function W(a, b, c) {\r\n c\r\n ? (j.texParameteri(a, j.TEXTURE_WRAP_S, L(b.wrapS)),\r\n j.texParameteri(a, j.TEXTURE_WRAP_T, L(b.wrapT)),\r\n j.texParameteri(a, j.TEXTURE_MAG_FILTER, L(b.magFilter)),\r\n j.texParameteri(a, j.TEXTURE_MIN_FILTER, L(b.minFilter)))\r\n : (j.texParameteri(a, j.TEXTURE_WRAP_S, j.CLAMP_TO_EDGE),\r\n j.texParameteri(a, j.TEXTURE_WRAP_T, j.CLAMP_TO_EDGE),\r\n j.texParameteri(a, j.TEXTURE_MAG_FILTER, K(b.magFilter)),\r\n j.texParameteri(a, j.TEXTURE_MIN_FILTER, K(b.minFilter)));\r\n if (\r\n cb &&\r\n b.type !== THREE.FloatType &&\r\n (1 < b.anisotropy || b.__oldAnisotropy)\r\n )\r\n j.texParameterf(\r\n a,\r\n cb.TEXTURE_MAX_ANISOTROPY_EXT,\r\n Math.min(b.anisotropy, Cc)\r\n ),\r\n (b.__oldAnisotropy = b.anisotropy);\r\n }\r\n function F(a, b) {\r\n j.bindRenderbuffer(j.RENDERBUFFER, a);\r\n b.depthBuffer && !b.stencilBuffer\r\n ? (j.renderbufferStorage(\r\n j.RENDERBUFFER,\r\n j.DEPTH_COMPONENT16,\r\n b.width,\r\n b.height\r\n ),\r\n j.framebufferRenderbuffer(\r\n j.FRAMEBUFFER,\r\n j.DEPTH_ATTACHMENT,\r\n j.RENDERBUFFER,\r\n a\r\n ))\r\n : b.depthBuffer && b.stencilBuffer\r\n ? (j.renderbufferStorage(\r\n j.RENDERBUFFER,\r\n j.DEPTH_STENCIL,\r\n b.width,\r\n b.height\r\n ),\r\n j.framebufferRenderbuffer(\r\n j.FRAMEBUFFER,\r\n j.DEPTH_STENCIL_ATTACHMENT,\r\n j.RENDERBUFFER,\r\n a\r\n ))\r\n : j.renderbufferStorage(j.RENDERBUFFER, j.RGBA4, b.width, b.height);\r\n }\r\n function K(a) {\r\n return a === THREE.NearestFilter ||\r\n a === THREE.NearestMipMapNearestFilter ||\r\n a === THREE.NearestMipMapLinearFilter\r\n ? j.NEAREST\r\n : j.LINEAR;\r\n }\r\n function L(a) {\r\n if (a === THREE.RepeatWrapping) return j.REPEAT;\r\n if (a === THREE.ClampToEdgeWrapping) return j.CLAMP_TO_EDGE;\r\n if (a === THREE.MirroredRepeatWrapping) return j.MIRRORED_REPEAT;\r\n if (a === THREE.NearestFilter) return j.NEAREST;\r\n if (a === THREE.NearestMipMapNearestFilter) return j.NEAREST_MIPMAP_NEAREST;\r\n if (a === THREE.NearestMipMapLinearFilter) return j.NEAREST_MIPMAP_LINEAR;\r\n if (a === THREE.LinearFilter) return j.LINEAR;\r\n if (a === THREE.LinearMipMapNearestFilter) return j.LINEAR_MIPMAP_NEAREST;\r\n if (a === THREE.LinearMipMapLinearFilter) return j.LINEAR_MIPMAP_LINEAR;\r\n if (a === THREE.UnsignedByteType) return j.UNSIGNED_BYTE;\r\n if (a === THREE.UnsignedShort4444Type) return j.UNSIGNED_SHORT_4_4_4_4;\r\n if (a === THREE.UnsignedShort5551Type) return j.UNSIGNED_SHORT_5_5_5_1;\r\n if (a === THREE.UnsignedShort565Type) return j.UNSIGNED_SHORT_5_6_5;\r\n if (a === THREE.ByteType) return j.BYTE;\r\n if (a === THREE.ShortType) return j.SHORT;\r\n if (a === THREE.UnsignedShortType) return j.UNSIGNED_SHORT;\r\n if (a === THREE.IntType) return j.INT;\r\n if (a === THREE.UnsignedIntType) return j.UNSIGNED_INT;\r\n if (a === THREE.FloatType) return j.FLOAT;\r\n if (a === THREE.AlphaFormat) return j.ALPHA;\r\n if (a === THREE.RGBFormat) return j.RGB;\r\n if (a === THREE.RGBAFormat) return j.RGBA;\r\n if (a === THREE.LuminanceFormat) return j.LUMINANCE;\r\n if (a === THREE.LuminanceAlphaFormat) return j.LUMINANCE_ALPHA;\r\n if (a === THREE.AddEquation) return j.FUNC_ADD;\r\n if (a === THREE.SubtractEquation) return j.FUNC_SUBTRACT;\r\n if (a === THREE.ReverseSubtractEquation) return j.FUNC_REVERSE_SUBTRACT;\r\n if (a === THREE.ZeroFactor) return j.ZERO;\r\n if (a === THREE.OneFactor) return j.ONE;\r\n if (a === THREE.SrcColorFactor) return j.SRC_COLOR;\r\n if (a === THREE.OneMinusSrcColorFactor) return j.ONE_MINUS_SRC_COLOR;\r\n if (a === THREE.SrcAlphaFactor) return j.SRC_ALPHA;\r\n if (a === THREE.OneMinusSrcAlphaFactor) return j.ONE_MINUS_SRC_ALPHA;\r\n if (a === THREE.DstAlphaFactor) return j.DST_ALPHA;\r\n if (a === THREE.OneMinusDstAlphaFactor) return j.ONE_MINUS_DST_ALPHA;\r\n if (a === THREE.DstColorFactor) return j.DST_COLOR;\r\n if (a === THREE.OneMinusDstColorFactor) return j.ONE_MINUS_DST_COLOR;\r\n if (a === THREE.SrcAlphaSaturateFactor) return j.SRC_ALPHA_SATURATE;\r\n if (void 0 !== Sa) {\r\n if (a === THREE.RGB_S3TC_DXT1_Format)\r\n return Sa.COMPRESSED_RGB_S3TC_DXT1_EXT;\r\n if (a === THREE.RGBA_S3TC_DXT1_Format)\r\n return Sa.COMPRESSED_RGBA_S3TC_DXT1_EXT;\r\n if (a === THREE.RGBA_S3TC_DXT3_Format)\r\n return Sa.COMPRESSED_RGBA_S3TC_DXT3_EXT;\r\n if (a === THREE.RGBA_S3TC_DXT5_Format)\r\n return Sa.COMPRESSED_RGBA_S3TC_DXT5_EXT;\r\n }\r\n return 0;\r\n }\r\n console.log(\"THREE.WebGLRenderer\", THREE.REVISION);\r\n var a = a || {},\r\n U = void 0 !== a.canvas ? a.canvas : document.createElement(\"canvas\"),\r\n fa = void 0 !== a.precision ? a.precision : \"highp\",\r\n Ca = void 0 !== a.alpha ? a.alpha : !0,\r\n $a = void 0 !== a.premultipliedAlpha ? a.premultipliedAlpha : !0,\r\n M = void 0 !== a.antialias ? a.antialias : !1,\r\n ca = void 0 !== a.stencil ? a.stencil : !0,\r\n qa = void 0 !== a.preserveDrawingBuffer ? a.preserveDrawingBuffer : !1,\r\n ha =\r\n void 0 !== a.clearColor\r\n ? new THREE.Color(a.clearColor)\r\n : new THREE.Color(0),\r\n ra = void 0 !== a.clearAlpha ? a.clearAlpha : 0;\r\n this.domElement = U;\r\n this.context = null;\r\n this.devicePixelRatio =\r\n void 0 !== a.devicePixelRatio\r\n ? a.devicePixelRatio\r\n : void 0 !== window.devicePixelRatio\r\n ? window.devicePixelRatio\r\n : 1;\r\n this.autoUpdateScene = this.autoUpdateObjects = this.sortObjects = this.autoClearStencil = this.autoClearDepth = this.autoClearColor = this.autoClear = !0;\r\n this.shadowMapEnabled = this.physicallyBasedShading = this.gammaOutput = this.gammaInput = !1;\r\n this.shadowMapAutoUpdate = !0;\r\n this.shadowMapType = THREE.PCFShadowMap;\r\n this.shadowMapCullFace = THREE.CullFaceFront;\r\n this.shadowMapCascade = this.shadowMapDebug = !1;\r\n this.maxMorphTargets = 8;\r\n this.maxMorphNormals = 4;\r\n this.autoScaleCubemaps = !0;\r\n this.renderPluginsPre = [];\r\n this.renderPluginsPost = [];\r\n this.info = {\r\n memory: { programs: 0, geometries: 0, textures: 0 },\r\n render: { calls: 0, vertices: 0, faces: 0, points: 0 }\r\n };\r\n var N = this,\r\n Ma = [],\r\n Na = 0,\r\n mb = null,\r\n Pa = null,\r\n ta = -1,\r\n ka = null,\r\n aa = null,\r\n pa = 0,\r\n Y = 0,\r\n da = -1,\r\n la = -1,\r\n Z = -1,\r\n oa = -1,\r\n gb = -1,\r\n nb = -1,\r\n ia = -1,\r\n Wa = -1,\r\n ab = null,\r\n Fa = null,\r\n Xa = null,\r\n ub = null,\r\n Ib = 0,\r\n Jb = 0,\r\n fc = 0,\r\n Ab = 0,\r\n mc = 0,\r\n pb = 0,\r\n Ka = {},\r\n Va = new THREE.Frustum(),\r\n gc = new THREE.Matrix4(),\r\n vb = new THREE.Matrix4(),\r\n Qa = new THREE.Vector3(),\r\n La = new THREE.Vector3(),\r\n bb = !0,\r\n xb = {\r\n ambient: [0, 0, 0],\r\n directional: { length: 0, colors: [], positions: [] },\r\n point: { length: 0, colors: [], positions: [], distances: [] },\r\n spot: {\r\n length: 0,\r\n colors: [],\r\n positions: [],\r\n distances: [],\r\n directions: [],\r\n anglesCos: [],\r\n exponents: []\r\n },\r\n hemi: { length: 0, skyColors: [], groundColors: [], positions: [] }\r\n },\r\n j,\r\n yb,\r\n Ra,\r\n cb,\r\n Sa;\r\n try {\r\n if (\r\n !(j = U.getContext(\"experimental-webgl\", {\r\n alpha: Ca,\r\n premultipliedAlpha: $a,\r\n antialias: M,\r\n stencil: ca,\r\n preserveDrawingBuffer: qa\r\n }))\r\n )\r\n throw \"Error creating WebGL context.\";\r\n } catch (zb) {\r\n console.error(zb);\r\n }\r\n yb = j.getExtension(\"OES_texture_float\");\r\n Ra = j.getExtension(\"OES_standard_derivatives\");\r\n cb =\r\n j.getExtension(\"EXT_texture_filter_anisotropic\") ||\r\n j.getExtension(\"MOZ_EXT_texture_filter_anisotropic\") ||\r\n j.getExtension(\"WEBKIT_EXT_texture_filter_anisotropic\");\r\n Sa =\r\n j.getExtension(\"WEBGL_compressed_texture_s3tc\") ||\r\n j.getExtension(\"MOZ_WEBGL_compressed_texture_s3tc\") ||\r\n j.getExtension(\"WEBKIT_WEBGL_compressed_texture_s3tc\");\r\n yb || console.log(\"THREE.WebGLRenderer: Float textures not supported.\");\r\n Ra || console.log(\"THREE.WebGLRenderer: Standard derivatives not supported.\");\r\n cb ||\r\n console.log(\r\n \"THREE.WebGLRenderer: Anisotropic texture filtering not supported.\"\r\n );\r\n Sa ||\r\n console.log(\"THREE.WebGLRenderer: S3TC compressed textures not supported.\");\r\n void 0 === j.getShaderPrecisionFormat &&\r\n (j.getShaderPrecisionFormat = function() {\r\n return { rangeMin: 1, rangeMax: 1, precision: 1 };\r\n });\r\n j.clearColor(0, 0, 0, 1);\r\n j.clearDepth(1);\r\n j.clearStencil(0);\r\n j.enable(j.DEPTH_TEST);\r\n j.depthFunc(j.LEQUAL);\r\n j.frontFace(j.CCW);\r\n j.cullFace(j.BACK);\r\n j.enable(j.CULL_FACE);\r\n j.enable(j.BLEND);\r\n j.blendEquation(j.FUNC_ADD);\r\n j.blendFunc(j.SRC_ALPHA, j.ONE_MINUS_SRC_ALPHA);\r\n j.clearColor(ha.r, ha.g, ha.b, ra);\r\n this.context = j;\r\n var Mc = j.getParameter(j.MAX_TEXTURE_IMAGE_UNITS),\r\n fd = j.getParameter(j.MAX_VERTEX_TEXTURE_IMAGE_UNITS);\r\n j.getParameter(j.MAX_TEXTURE_SIZE);\r\n var gd = j.getParameter(j.MAX_CUBE_MAP_TEXTURE_SIZE),\r\n Cc = cb ? j.getParameter(cb.MAX_TEXTURE_MAX_ANISOTROPY_EXT) : 0,\r\n sc = 0 < fd,\r\n tc = sc && yb;\r\n Sa && j.getParameter(j.COMPRESSED_TEXTURE_FORMATS);\r\n var jd = j.getShaderPrecisionFormat(j.VERTEX_SHADER, j.HIGH_FLOAT),\r\n kd = j.getShaderPrecisionFormat(j.VERTEX_SHADER, j.MEDIUM_FLOAT);\r\n j.getShaderPrecisionFormat(j.VERTEX_SHADER, j.LOW_FLOAT);\r\n var ld = j.getShaderPrecisionFormat(j.FRAGMENT_SHADER, j.HIGH_FLOAT),\r\n id = j.getShaderPrecisionFormat(j.FRAGMENT_SHADER, j.MEDIUM_FLOAT);\r\n j.getShaderPrecisionFormat(j.FRAGMENT_SHADER, j.LOW_FLOAT);\r\n j.getShaderPrecisionFormat(j.VERTEX_SHADER, j.HIGH_INT);\r\n j.getShaderPrecisionFormat(j.VERTEX_SHADER, j.MEDIUM_INT);\r\n j.getShaderPrecisionFormat(j.VERTEX_SHADER, j.LOW_INT);\r\n j.getShaderPrecisionFormat(j.FRAGMENT_SHADER, j.HIGH_INT);\r\n j.getShaderPrecisionFormat(j.FRAGMENT_SHADER, j.MEDIUM_INT);\r\n j.getShaderPrecisionFormat(j.FRAGMENT_SHADER, j.LOW_INT);\r\n var hd = 0 < jd.precision && 0 < ld.precision,\r\n Nc = 0 < kd.precision && 0 < id.precision;\r\n \"highp\" === fa &&\r\n !hd &&\r\n (Nc\r\n ? ((fa = \"mediump\"),\r\n console.warn(\"WebGLRenderer: highp not supported, using mediump\"))\r\n : ((fa = \"lowp\"),\r\n console.warn(\r\n \"WebGLRenderer: highp and mediump not supported, using lowp\"\r\n )));\r\n \"mediump\" === fa &&\r\n !Nc &&\r\n ((fa = \"lowp\"),\r\n console.warn(\"WebGLRenderer: mediump not supported, using lowp\"));\r\n this.getContext = function() {\r\n return j;\r\n };\r\n this.supportsVertexTextures = function() {\r\n return sc;\r\n };\r\n this.supportsFloatTextures = function() {\r\n return yb;\r\n };\r\n this.supportsStandardDerivatives = function() {\r\n return Ra;\r\n };\r\n this.supportsCompressedTextureS3TC = function() {\r\n return Sa;\r\n };\r\n this.getMaxAnisotropy = function() {\r\n return Cc;\r\n };\r\n this.getPrecision = function() {\r\n return fa;\r\n };\r\n this.setSize = function(a, b) {\r\n U.width = a * this.devicePixelRatio;\r\n U.height = b * this.devicePixelRatio;\r\n U.style.width = a + \"px\";\r\n U.style.height = b + \"px\";\r\n this.setViewport(0, 0, U.width, U.height);\r\n };\r\n this.setViewport = function(a, b, c, d) {\r\n Ib = void 0 !== a ? a : 0;\r\n Jb = void 0 !== b ? b : 0;\r\n fc = void 0 !== c ? c : U.width;\r\n Ab = void 0 !== d ? d : U.height;\r\n j.viewport(Ib, Jb, fc, Ab);\r\n };\r\n this.setScissor = function(a, b, c, d) {\r\n j.scissor(a, b, c, d);\r\n };\r\n this.enableScissorTest = function(a) {\r\n a ? j.enable(j.SCISSOR_TEST) : j.disable(j.SCISSOR_TEST);\r\n };\r\n this.setClearColorHex = function(a, b) {\r\n ha.setHex(a);\r\n ra = b;\r\n j.clearColor(ha.r, ha.g, ha.b, ra);\r\n };\r\n this.setClearColor = function(a, b) {\r\n ha.copy(a);\r\n ra = b;\r\n j.clearColor(ha.r, ha.g, ha.b, ra);\r\n };\r\n this.getClearColor = function() {\r\n return ha;\r\n };\r\n this.getClearAlpha = function() {\r\n return ra;\r\n };\r\n this.clear = function(a, b, c) {\r\n var d = 0;\r\n if (void 0 === a || a) d |= j.COLOR_BUFFER_BIT;\r\n if (void 0 === b || b) d |= j.DEPTH_BUFFER_BIT;\r\n if (void 0 === c || c) d |= j.STENCIL_BUFFER_BIT;\r\n j.clear(d);\r\n };\r\n this.clearTarget = function(a, b, c, d) {\r\n this.setRenderTarget(a);\r\n this.clear(b, c, d);\r\n };\r\n this.addPostPlugin = function(a) {\r\n a.init(this);\r\n this.renderPluginsPost.push(a);\r\n };\r\n this.addPrePlugin = function(a) {\r\n a.init(this);\r\n this.renderPluginsPre.push(a);\r\n };\r\n this.updateShadowMap = function(a, b) {\r\n mb = null;\r\n ta = ka = Wa = ia = Z = -1;\r\n bb = !0;\r\n la = da = -1;\r\n this.shadowMapPlugin.update(a, b);\r\n };\r\n var wd = function(a) {\r\n a = a.target;\r\n a.removeEventListener(\"dispose\", wd);\r\n a.__webglInit = void 0;\r\n void 0 !== a.__webglVertexBuffer && j.deleteBuffer(a.__webglVertexBuffer);\r\n void 0 !== a.__webglNormalBuffer && j.deleteBuffer(a.__webglNormalBuffer);\r\n void 0 !== a.__webglTangentBuffer &&\r\n j.deleteBuffer(a.__webglTangentBuffer);\r\n void 0 !== a.__webglColorBuffer && j.deleteBuffer(a.__webglColorBuffer);\r\n void 0 !== a.__webglUVBuffer && j.deleteBuffer(a.__webglUVBuffer);\r\n void 0 !== a.__webglUV2Buffer && j.deleteBuffer(a.__webglUV2Buffer);\r\n void 0 !== a.__webglSkinIndicesBuffer &&\r\n j.deleteBuffer(a.__webglSkinIndicesBuffer);\r\n void 0 !== a.__webglSkinWeightsBuffer &&\r\n j.deleteBuffer(a.__webglSkinWeightsBuffer);\r\n void 0 !== a.__webglFaceBuffer && j.deleteBuffer(a.__webglFaceBuffer);\r\n void 0 !== a.__webglLineBuffer && j.deleteBuffer(a.__webglLineBuffer);\r\n void 0 !== a.__webglLineDistanceBuffer &&\r\n j.deleteBuffer(a.__webglLineDistanceBuffer);\r\n if (void 0 !== a.geometryGroups)\r\n for (var c in a.geometryGroups) {\r\n var d = a.geometryGroups[c];\r\n if (void 0 !== d.numMorphTargets)\r\n for (var e = 0, f = d.numMorphTargets; e < f; e++)\r\n j.deleteBuffer(d.__webglMorphTargetsBuffers[e]);\r\n if (void 0 !== d.numMorphNormals) {\r\n e = 0;\r\n for (f = d.numMorphNormals; e < f; e++)\r\n j.deleteBuffer(d.__webglMorphNormalsBuffers[e]);\r\n }\r\n b(d);\r\n }\r\n b(a);\r\n N.info.memory.geometries--;\r\n },\r\n Oc = function(a) {\r\n a = a.target;\r\n a.removeEventListener(\"dispose\", Oc);\r\n a.image && a.image.__webglTextureCube\r\n ? j.deleteTexture(a.image.__webglTextureCube)\r\n : a.__webglInit &&\r\n ((a.__webglInit = !1), j.deleteTexture(a.__webglTexture));\r\n N.info.memory.textures--;\r\n },\r\n P = function(a) {\r\n a = a.target;\r\n a.removeEventListener(\"dispose\", P);\r\n if (a && a.__webglTexture)\r\n if (\r\n (j.deleteTexture(a.__webglTexture),\r\n a instanceof THREE.WebGLRenderTargetCube)\r\n )\r\n for (var b = 0; 6 > b; b++)\r\n j.deleteFramebuffer(a.__webglFramebuffer[b]),\r\n j.deleteRenderbuffer(a.__webglRenderbuffer[b]);\r\n else\r\n j.deleteFramebuffer(a.__webglFramebuffer),\r\n j.deleteRenderbuffer(a.__webglRenderbuffer);\r\n N.info.memory.textures--;\r\n },\r\n X = function(a) {\r\n a = a.target;\r\n a.removeEventListener(\"dispose\", X);\r\n Pc(a);\r\n },\r\n Pc = function(a) {\r\n var b = a.program;\r\n if (void 0 !== b) {\r\n a.program = void 0;\r\n var c,\r\n d,\r\n e = !1,\r\n a = 0;\r\n for (c = Ma.length; a < c; a++)\r\n if (((d = Ma[a]), d.program === b)) {\r\n d.usedTimes--;\r\n 0 === d.usedTimes && (e = !0);\r\n break;\r\n }\r\n if (!0 === e) {\r\n e = [];\r\n a = 0;\r\n for (c = Ma.length; a < c; a++)\r\n (d = Ma[a]), d.program !== b && e.push(d);\r\n Ma = e;\r\n j.deleteProgram(b);\r\n N.info.memory.programs--;\r\n }\r\n }\r\n };\r\n this.renderBufferImmediate = function(a, b, c) {\r\n a.hasPositions &&\r\n !a.__webglVertexBuffer &&\r\n (a.__webglVertexBuffer = j.createBuffer());\r\n a.hasNormals &&\r\n !a.__webglNormalBuffer &&\r\n (a.__webglNormalBuffer = j.createBuffer());\r\n a.hasUvs && !a.__webglUvBuffer && (a.__webglUvBuffer = j.createBuffer());\r\n a.hasColors &&\r\n !a.__webglColorBuffer &&\r\n (a.__webglColorBuffer = j.createBuffer());\r\n a.hasPositions &&\r\n (j.bindBuffer(j.ARRAY_BUFFER, a.__webglVertexBuffer),\r\n j.bufferData(j.ARRAY_BUFFER, a.positionArray, j.DYNAMIC_DRAW),\r\n j.enableVertexAttribArray(b.attributes.position),\r\n j.vertexAttribPointer(b.attributes.position, 3, j.FLOAT, !1, 0, 0));\r\n if (a.hasNormals) {\r\n j.bindBuffer(j.ARRAY_BUFFER, a.__webglNormalBuffer);\r\n if (c.shading === THREE.FlatShading) {\r\n var d,\r\n e,\r\n f,\r\n g,\r\n i,\r\n h,\r\n k,\r\n l,\r\n n,\r\n m,\r\n p,\r\n q = 3 * a.count;\r\n for (p = 0; p < q; p += 9)\r\n (m = a.normalArray),\r\n (d = m[p]),\r\n (e = m[p + 1]),\r\n (f = m[p + 2]),\r\n (g = m[p + 3]),\r\n (h = m[p + 4]),\r\n (l = m[p + 5]),\r\n (i = m[p + 6]),\r\n (k = m[p + 7]),\r\n (n = m[p + 8]),\r\n (d = (d + g + i) / 3),\r\n (e = (e + h + k) / 3),\r\n (f = (f + l + n) / 3),\r\n (m[p] = d),\r\n (m[p + 1] = e),\r\n (m[p + 2] = f),\r\n (m[p + 3] = d),\r\n (m[p + 4] = e),\r\n (m[p + 5] = f),\r\n (m[p + 6] = d),\r\n (m[p + 7] = e),\r\n (m[p + 8] = f);\r\n }\r\n j.bufferData(j.ARRAY_BUFFER, a.normalArray, j.DYNAMIC_DRAW);\r\n j.enableVertexAttribArray(b.attributes.normal);\r\n j.vertexAttribPointer(b.attributes.normal, 3, j.FLOAT, !1, 0, 0);\r\n }\r\n a.hasUvs &&\r\n c.map &&\r\n (j.bindBuffer(j.ARRAY_BUFFER, a.__webglUvBuffer),\r\n j.bufferData(j.ARRAY_BUFFER, a.uvArray, j.DYNAMIC_DRAW),\r\n j.enableVertexAttribArray(b.attributes.uv),\r\n j.vertexAttribPointer(b.attributes.uv, 2, j.FLOAT, !1, 0, 0));\r\n a.hasColors &&\r\n c.vertexColors !== THREE.NoColors &&\r\n (j.bindBuffer(j.ARRAY_BUFFER, a.__webglColorBuffer),\r\n j.bufferData(j.ARRAY_BUFFER, a.colorArray, j.DYNAMIC_DRAW),\r\n j.enableVertexAttribArray(b.attributes.color),\r\n j.vertexAttribPointer(b.attributes.color, 3, j.FLOAT, !1, 0, 0));\r\n j.drawArrays(j.TRIANGLES, 0, a.count);\r\n a.count = 0;\r\n };\r\n this.renderBufferDirect = function(a, b, c, d, e, f) {\r\n if (!1 !== d.visible)\r\n if (\r\n ((c = A(a, b, c, d, f)),\r\n (a = c.attributes),\r\n (b = !1),\r\n (c = 16777215 * e.id + 2 * c.id + (d.wireframe ? 1 : 0)),\r\n c !== ka && ((ka = c), (b = !0)),\r\n b && l(),\r\n f instanceof THREE.Mesh)\r\n )\r\n if ((d = e.attributes.index)) {\r\n f = e.offsets;\r\n 1 < f.length && (b = !0);\r\n for (var c = 0, g = f.length; c < g; c++) {\r\n var i = f[c].index;\r\n if (b) {\r\n var h = e.attributes.position,\r\n n = h.itemSize;\r\n j.bindBuffer(j.ARRAY_BUFFER, h.buffer);\r\n k(a.position);\r\n j.vertexAttribPointer(a.position, n, j.FLOAT, !1, 0, 4 * i * n);\r\n n = e.attributes.normal;\r\n if (0 <= a.normal && n) {\r\n var m = n.itemSize;\r\n j.bindBuffer(j.ARRAY_BUFFER, n.buffer);\r\n k(a.normal);\r\n j.vertexAttribPointer(a.normal, m, j.FLOAT, !1, 0, 4 * i * m);\r\n }\r\n n = e.attributes.uv;\r\n 0 <= a.uv &&\r\n n &&\r\n ((m = n.itemSize),\r\n j.bindBuffer(j.ARRAY_BUFFER, n.buffer),\r\n k(a.uv),\r\n j.vertexAttribPointer(a.uv, m, j.FLOAT, !1, 0, 4 * i * m));\r\n n = e.attributes.color;\r\n 0 <= a.color &&\r\n n &&\r\n ((m = n.itemSize),\r\n j.bindBuffer(j.ARRAY_BUFFER, n.buffer),\r\n k(a.color),\r\n j.vertexAttribPointer(a.color, m, j.FLOAT, !1, 0, 4 * i * m));\r\n n = e.attributes.tangent;\r\n 0 <= a.tangent &&\r\n n &&\r\n ((m = n.itemSize),\r\n j.bindBuffer(j.ARRAY_BUFFER, n.buffer),\r\n k(a.tangent),\r\n j.vertexAttribPointer(a.tangent, m, j.FLOAT, !1, 0, 4 * i * m));\r\n j.bindBuffer(j.ELEMENT_ARRAY_BUFFER, d.buffer);\r\n }\r\n j.drawElements(\r\n j.TRIANGLES,\r\n f[c].count,\r\n j.UNSIGNED_SHORT,\r\n 2 * f[c].start\r\n );\r\n N.info.render.calls++;\r\n N.info.render.vertices += f[c].count;\r\n N.info.render.faces += f[c].count / 3;\r\n }\r\n } else\r\n b &&\r\n ((h = e.attributes.position),\r\n (n = h.itemSize),\r\n j.bindBuffer(j.ARRAY_BUFFER, h.buffer),\r\n k(a.position),\r\n j.vertexAttribPointer(a.position, n, j.FLOAT, !1, 0, 0),\r\n (n = e.attributes.normal),\r\n 0 <= a.normal &&\r\n n &&\r\n ((m = n.itemSize),\r\n j.bindBuffer(j.ARRAY_BUFFER, n.buffer),\r\n k(a.normal),\r\n j.vertexAttribPointer(a.normal, m, j.FLOAT, !1, 0, 0)),\r\n (n = e.attributes.uv),\r\n 0 <= a.uv &&\r\n n &&\r\n ((m = n.itemSize),\r\n j.bindBuffer(j.ARRAY_BUFFER, n.buffer),\r\n k(a.uv),\r\n j.vertexAttribPointer(a.uv, m, j.FLOAT, !1, 0, 0)),\r\n (n = e.attributes.color),\r\n 0 <= a.color &&\r\n n &&\r\n ((m = n.itemSize),\r\n j.bindBuffer(j.ARRAY_BUFFER, n.buffer),\r\n k(a.color),\r\n j.vertexAttribPointer(a.color, m, j.FLOAT, !1, 0, 0)),\r\n (n = e.attributes.tangent),\r\n 0 <= a.tangent &&\r\n n &&\r\n ((m = n.itemSize),\r\n j.bindBuffer(j.ARRAY_BUFFER, n.buffer),\r\n k(a.tangent),\r\n j.vertexAttribPointer(a.tangent, m, j.FLOAT, !1, 0, 0))),\r\n j.drawArrays(j.TRIANGLES, 0, h.numItems / 3),\r\n N.info.render.calls++,\r\n (N.info.render.vertices += h.numItems / 3),\r\n (N.info.render.faces += h.numItems / 3 / 3);\r\n else\r\n f instanceof THREE.ParticleSystem\r\n ? b &&\r\n ((h = e.attributes.position),\r\n (n = h.itemSize),\r\n j.bindBuffer(j.ARRAY_BUFFER, h.buffer),\r\n k(a.position),\r\n j.vertexAttribPointer(a.position, n, j.FLOAT, !1, 0, 0),\r\n (n = e.attributes.color),\r\n 0 <= a.color &&\r\n n &&\r\n ((m = n.itemSize),\r\n j.bindBuffer(j.ARRAY_BUFFER, n.buffer),\r\n k(a.color),\r\n j.vertexAttribPointer(a.color, m, j.FLOAT, !1, 0, 0)),\r\n j.drawArrays(j.POINTS, 0, h.numItems / 3),\r\n N.info.render.calls++,\r\n (N.info.render.points += h.numItems / 3))\r\n : f instanceof THREE.Line &&\r\n b &&\r\n ((h = e.attributes.position),\r\n (n = h.itemSize),\r\n j.bindBuffer(j.ARRAY_BUFFER, h.buffer),\r\n k(a.position),\r\n j.vertexAttribPointer(a.position, n, j.FLOAT, !1, 0, 0),\r\n (n = e.attributes.color),\r\n 0 <= a.color &&\r\n n &&\r\n ((m = n.itemSize),\r\n j.bindBuffer(j.ARRAY_BUFFER, n.buffer),\r\n k(a.color),\r\n j.vertexAttribPointer(a.color, m, j.FLOAT, !1, 0, 0)),\r\n J(d.linewidth),\r\n j.drawArrays(j.LINE_STRIP, 0, h.numItems / 3),\r\n N.info.render.calls++,\r\n (N.info.render.points += h.numItems));\r\n };\r\n this.renderBuffer = function(a, b, c, d, e, f) {\r\n if (!1 !== d.visible) {\r\n var g,\r\n i,\r\n c = A(a, b, c, d, f),\r\n a = c.attributes,\r\n b = !1,\r\n c = 16777215 * e.id + 2 * c.id + (d.wireframe ? 1 : 0);\r\n c !== ka && ((ka = c), (b = !0));\r\n b && l();\r\n if (!d.morphTargets && 0 <= a.position)\r\n b &&\r\n (j.bindBuffer(j.ARRAY_BUFFER, e.__webglVertexBuffer),\r\n k(a.position),\r\n j.vertexAttribPointer(a.position, 3, j.FLOAT, !1, 0, 0));\r\n else if (f.morphTargetBase) {\r\n c = d.program.attributes;\r\n -1 !== f.morphTargetBase && 0 <= c.position\r\n ? (j.bindBuffer(\r\n j.ARRAY_BUFFER,\r\n e.__webglMorphTargetsBuffers[f.morphTargetBase]\r\n ),\r\n k(c.position),\r\n j.vertexAttribPointer(c.position, 3, j.FLOAT, !1, 0, 0))\r\n : 0 <= c.position &&\r\n (j.bindBuffer(j.ARRAY_BUFFER, e.__webglVertexBuffer),\r\n k(c.position),\r\n j.vertexAttribPointer(c.position, 3, j.FLOAT, !1, 0, 0));\r\n if (f.morphTargetForcedOrder.length) {\r\n var h = 0;\r\n i = f.morphTargetForcedOrder;\r\n for (\r\n g = f.morphTargetInfluences;\r\n h < d.numSupportedMorphTargets && h < i.length;\r\n\r\n )\r\n 0 <= c[\"morphTarget\" + h] &&\r\n (j.bindBuffer(j.ARRAY_BUFFER, e.__webglMorphTargetsBuffers[i[h]]),\r\n k(c[\"morphTarget\" + h]),\r\n j.vertexAttribPointer(\r\n c[\"morphTarget\" + h],\r\n 3,\r\n j.FLOAT,\r\n !1,\r\n 0,\r\n 0\r\n )),\r\n 0 <= c[\"morphNormal\" + h] &&\r\n d.morphNormals &&\r\n (j.bindBuffer(\r\n j.ARRAY_BUFFER,\r\n e.__webglMorphNormalsBuffers[i[h]]\r\n ),\r\n k(c[\"morphNormal\" + h]),\r\n j.vertexAttribPointer(\r\n c[\"morphNormal\" + h],\r\n 3,\r\n j.FLOAT,\r\n !1,\r\n 0,\r\n 0\r\n )),\r\n (f.__webglMorphTargetInfluences[h] = g[i[h]]),\r\n h++;\r\n } else {\r\n i = [];\r\n g = f.morphTargetInfluences;\r\n var m,\r\n p = g.length;\r\n for (m = 0; m < p; m++) (h = g[m]), 0 < h && i.push([h, m]);\r\n i.length > d.numSupportedMorphTargets\r\n ? (i.sort(n), (i.length = d.numSupportedMorphTargets))\r\n : i.length > d.numSupportedMorphNormals\r\n ? i.sort(n)\r\n : 0 === i.length && i.push([0, 0]);\r\n for (h = 0; h < d.numSupportedMorphTargets; )\r\n i[h]\r\n ? ((m = i[h][1]),\r\n 0 <= c[\"morphTarget\" + h] &&\r\n (j.bindBuffer(\r\n j.ARRAY_BUFFER,\r\n e.__webglMorphTargetsBuffers[m]\r\n ),\r\n k(c[\"morphTarget\" + h]),\r\n j.vertexAttribPointer(\r\n c[\"morphTarget\" + h],\r\n 3,\r\n j.FLOAT,\r\n !1,\r\n 0,\r\n 0\r\n )),\r\n 0 <= c[\"morphNormal\" + h] &&\r\n d.morphNormals &&\r\n (j.bindBuffer(\r\n j.ARRAY_BUFFER,\r\n e.__webglMorphNormalsBuffers[m]\r\n ),\r\n k(c[\"morphNormal\" + h]),\r\n j.vertexAttribPointer(\r\n c[\"morphNormal\" + h],\r\n 3,\r\n j.FLOAT,\r\n !1,\r\n 0,\r\n 0\r\n )),\r\n (f.__webglMorphTargetInfluences[h] = g[m]))\r\n : (f.__webglMorphTargetInfluences[h] = 0),\r\n h++;\r\n }\r\n null !== d.program.uniforms.morphTargetInfluences &&\r\n j.uniform1fv(\r\n d.program.uniforms.morphTargetInfluences,\r\n f.__webglMorphTargetInfluences\r\n );\r\n }\r\n if (b) {\r\n if (e.__webglCustomAttributesList) {\r\n g = 0;\r\n for (i = e.__webglCustomAttributesList.length; g < i; g++)\r\n (c = e.__webglCustomAttributesList[g]),\r\n 0 <= a[c.buffer.belongsToAttribute] &&\r\n (j.bindBuffer(j.ARRAY_BUFFER, c.buffer),\r\n k(a[c.buffer.belongsToAttribute]),\r\n j.vertexAttribPointer(\r\n a[c.buffer.belongsToAttribute],\r\n c.size,\r\n j.FLOAT,\r\n !1,\r\n 0,\r\n 0\r\n ));\r\n }\r\n 0 <= a.color &&\r\n (j.bindBuffer(j.ARRAY_BUFFER, e.__webglColorBuffer),\r\n k(a.color),\r\n j.vertexAttribPointer(a.color, 3, j.FLOAT, !1, 0, 0));\r\n 0 <= a.normal &&\r\n (j.bindBuffer(j.ARRAY_BUFFER, e.__webglNormalBuffer),\r\n k(a.normal),\r\n j.vertexAttribPointer(a.normal, 3, j.FLOAT, !1, 0, 0));\r\n 0 <= a.tangent &&\r\n (j.bindBuffer(j.ARRAY_BUFFER, e.__webglTangentBuffer),\r\n k(a.tangent),\r\n j.vertexAttribPointer(a.tangent, 4, j.FLOAT, !1, 0, 0));\r\n 0 <= a.uv &&\r\n (j.bindBuffer(j.ARRAY_BUFFER, e.__webglUVBuffer),\r\n k(a.uv),\r\n j.vertexAttribPointer(a.uv, 2, j.FLOAT, !1, 0, 0));\r\n 0 <= a.uv2 &&\r\n (j.bindBuffer(j.ARRAY_BUFFER, e.__webglUV2Buffer),\r\n k(a.uv2),\r\n j.vertexAttribPointer(a.uv2, 2, j.FLOAT, !1, 0, 0));\r\n d.skinning &&\r\n 0 <= a.skinIndex &&\r\n 0 <= a.skinWeight &&\r\n (j.bindBuffer(j.ARRAY_BUFFER, e.__webglSkinIndicesBuffer),\r\n k(a.skinIndex),\r\n j.vertexAttribPointer(a.skinIndex, 4, j.FLOAT, !1, 0, 0),\r\n j.bindBuffer(j.ARRAY_BUFFER, e.__webglSkinWeightsBuffer),\r\n k(a.skinWeight),\r\n j.vertexAttribPointer(a.skinWeight, 4, j.FLOAT, !1, 0, 0));\r\n 0 <= a.lineDistance &&\r\n (j.bindBuffer(j.ARRAY_BUFFER, e.__webglLineDistanceBuffer),\r\n k(a.lineDistance),\r\n j.vertexAttribPointer(a.lineDistance, 1, j.FLOAT, !1, 0, 0));\r\n }\r\n f instanceof THREE.Mesh\r\n ? (d.wireframe\r\n ? (J(d.wireframeLinewidth),\r\n b && j.bindBuffer(j.ELEMENT_ARRAY_BUFFER, e.__webglLineBuffer),\r\n j.drawElements(j.LINES, e.__webglLineCount, j.UNSIGNED_SHORT, 0))\r\n : (b && j.bindBuffer(j.ELEMENT_ARRAY_BUFFER, e.__webglFaceBuffer),\r\n j.drawElements(\r\n j.TRIANGLES,\r\n e.__webglFaceCount,\r\n j.UNSIGNED_SHORT,\r\n 0\r\n )),\r\n N.info.render.calls++,\r\n (N.info.render.vertices += e.__webglFaceCount),\r\n (N.info.render.faces += e.__webglFaceCount / 3))\r\n : f instanceof THREE.Line\r\n ? ((f = f.type === THREE.LineStrip ? j.LINE_STRIP : j.LINES),\r\n J(d.linewidth),\r\n j.drawArrays(f, 0, e.__webglLineCount),\r\n N.info.render.calls++)\r\n : f instanceof THREE.ParticleSystem\r\n ? (j.drawArrays(j.POINTS, 0, e.__webglParticleCount),\r\n N.info.render.calls++,\r\n (N.info.render.points += e.__webglParticleCount))\r\n : f instanceof THREE.Ribbon &&\r\n (j.drawArrays(j.TRIANGLE_STRIP, 0, e.__webglVertexCount),\r\n N.info.render.calls++);\r\n }\r\n };\r\n this.render = function(a, b, c, d) {\r\n if (!1 === b instanceof THREE.Camera)\r\n console.error(\r\n \"THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.\"\r\n );\r\n else {\r\n var e,\r\n f,\r\n g,\r\n i,\r\n h = a.__lights,\r\n k = a.fog;\r\n ta = -1;\r\n bb = !0;\r\n this.autoUpdateScene && a.updateMatrixWorld();\r\n void 0 === b.parent && b.updateMatrixWorld();\r\n b.matrixWorldInverse.getInverse(b.matrixWorld);\r\n gc.multiplyMatrices(b.projectionMatrix, b.matrixWorldInverse);\r\n Va.setFromMatrix(gc);\r\n this.autoUpdateObjects && this.initWebGLObjects(a);\r\n s(this.renderPluginsPre, a, b);\r\n N.info.render.calls = 0;\r\n N.info.render.vertices = 0;\r\n N.info.render.faces = 0;\r\n N.info.render.points = 0;\r\n this.setRenderTarget(c);\r\n (this.autoClear || d) &&\r\n this.clear(\r\n this.autoClearColor,\r\n this.autoClearDepth,\r\n this.autoClearStencil\r\n );\r\n i = a.__webglObjects;\r\n d = 0;\r\n for (e = i.length; d < e; d++)\r\n if (\r\n ((f = i[d]),\r\n (g = f.object),\r\n (f.render = !1),\r\n g.visible &&\r\n (!(g instanceof THREE.Mesh || g instanceof THREE.ParticleSystem) ||\r\n !g.frustumCulled ||\r\n Va.intersectsObject(g)))\r\n ) {\r\n C(g, b);\r\n var n = f,\r\n l = n.buffer,\r\n q = void 0,\r\n t = (q = void 0),\r\n t = n.object.material;\r\n if (t instanceof THREE.MeshFaceMaterial)\r\n (q = l.materialIndex),\r\n (q = t.materials[q]),\r\n q.transparent\r\n ? ((n.transparent = q), (n.opaque = null))\r\n : ((n.opaque = q), (n.transparent = null));\r\n else if ((q = t))\r\n q.transparent\r\n ? ((n.transparent = q), (n.opaque = null))\r\n : ((n.opaque = q), (n.transparent = null));\r\n f.render = !0;\r\n !0 === this.sortObjects &&\r\n (null !== g.renderDepth\r\n ? (f.z = g.renderDepth)\r\n : (Qa.getPositionFromMatrix(g.matrixWorld),\r\n Qa.applyProjection(gc),\r\n (f.z = Qa.z)),\r\n (f.id = g.id));\r\n }\r\n this.sortObjects && i.sort(m);\r\n i = a.__webglObjectsImmediate;\r\n d = 0;\r\n for (e = i.length; d < e; d++)\r\n (f = i[d]),\r\n (g = f.object),\r\n g.visible &&\r\n (C(g, b),\r\n (g = f.object.material),\r\n g.transparent\r\n ? ((f.transparent = g), (f.opaque = null))\r\n : ((f.opaque = g), (f.transparent = null)));\r\n a.overrideMaterial\r\n ? ((d = a.overrideMaterial),\r\n this.setBlending(d.blending, d.blendEquation, d.blendSrc, d.blendDst),\r\n this.setDepthTest(d.depthTest),\r\n this.setDepthWrite(d.depthWrite),\r\n E(d.polygonOffset, d.polygonOffsetFactor, d.polygonOffsetUnits),\r\n r(a.__webglObjects, !1, \"\", b, h, k, !0, d),\r\n p(a.__webglObjectsImmediate, \"\", b, h, k, !1, d))\r\n : ((d = null),\r\n this.setBlending(THREE.NoBlending),\r\n r(a.__webglObjects, !0, \"opaque\", b, h, k, !1, d),\r\n p(a.__webglObjectsImmediate, \"opaque\", b, h, k, !1, d),\r\n r(a.__webglObjects, !1, \"transparent\", b, h, k, !0, d),\r\n p(a.__webglObjectsImmediate, \"transparent\", b, h, k, !0, d));\r\n s(this.renderPluginsPost, a, b);\r\n c &&\r\n c.generateMipmaps &&\r\n c.minFilter !== THREE.NearestFilter &&\r\n c.minFilter !== THREE.LinearFilter &&\r\n (c instanceof THREE.WebGLRenderTargetCube\r\n ? (j.bindTexture(j.TEXTURE_CUBE_MAP, c.__webglTexture),\r\n j.generateMipmap(j.TEXTURE_CUBE_MAP),\r\n j.bindTexture(j.TEXTURE_CUBE_MAP, null))\r\n : (j.bindTexture(j.TEXTURE_2D, c.__webglTexture),\r\n j.generateMipmap(j.TEXTURE_2D),\r\n j.bindTexture(j.TEXTURE_2D, null)));\r\n this.setDepthTest(!0);\r\n this.setDepthWrite(!0);\r\n }\r\n };\r\n this.renderImmediateObject = function(a, b, c, d, e) {\r\n var f = A(a, b, c, d, e);\r\n ka = -1;\r\n N.setMaterialFaces(d);\r\n e.immediateRenderCallback\r\n ? e.immediateRenderCallback(f, j, Va)\r\n : e.render(function(a) {\r\n N.renderBufferImmediate(a, f, d);\r\n });\r\n };\r\n this.initWebGLObjects = function(a) {\r\n a.__webglObjects ||\r\n ((a.__webglObjects = []),\r\n (a.__webglObjectsImmediate = []),\r\n (a.__webglSprites = []),\r\n (a.__webglFlares = []));\r\n for (; a.__objectsAdded.length; ) {\r\n var b = a.__objectsAdded[0],\r\n k = a,\r\n l = void 0,\r\n m = void 0,\r\n p = void 0,\r\n r = void 0;\r\n if (!b.__webglInit)\r\n if (\r\n ((b.__webglInit = !0),\r\n (b._modelViewMatrix = new THREE.Matrix4()),\r\n (b._normalMatrix = new THREE.Matrix3()),\r\n void 0 !== b.geometry &&\r\n void 0 === b.geometry.__webglInit &&\r\n ((b.geometry.__webglInit = !0),\r\n b.geometry.addEventListener(\"dispose\", wd)),\r\n b instanceof THREE.Mesh)\r\n )\r\n if (\r\n ((m = b.geometry), (p = b.material), m instanceof THREE.Geometry)\r\n ) {\r\n if (void 0 === m.geometryGroups) {\r\n var s = m,\r\n x = void 0,\r\n C = void 0,\r\n B = void 0,\r\n A = void 0,\r\n F = void 0,\r\n E = void 0,\r\n G = {},\r\n I = s.morphTargets.length,\r\n J = s.morphNormals.length,\r\n K = p instanceof THREE.MeshFaceMaterial;\r\n s.geometryGroups = {};\r\n x = 0;\r\n for (C = s.faces.length; x < C; x++)\r\n (B = s.faces[x]),\r\n (A = K ? B.materialIndex : 0),\r\n void 0 === G[A] && (G[A] = { hash: A, counter: 0 }),\r\n (E = G[A].hash + \"_\" + G[A].counter),\r\n void 0 === s.geometryGroups[E] &&\r\n (s.geometryGroups[E] = {\r\n faces3: [],\r\n faces4: [],\r\n materialIndex: A,\r\n vertices: 0,\r\n numMorphTargets: I,\r\n numMorphNormals: J\r\n }),\r\n (F = B instanceof THREE.Face3 ? 3 : 4),\r\n 65535 < s.geometryGroups[E].vertices + F &&\r\n ((G[A].counter += 1),\r\n (E = G[A].hash + \"_\" + G[A].counter),\r\n void 0 === s.geometryGroups[E] &&\r\n (s.geometryGroups[E] = {\r\n faces3: [],\r\n faces4: [],\r\n materialIndex: A,\r\n vertices: 0,\r\n numMorphTargets: I,\r\n numMorphNormals: J\r\n })),\r\n B instanceof THREE.Face3\r\n ? s.geometryGroups[E].faces3.push(x)\r\n : s.geometryGroups[E].faces4.push(x),\r\n (s.geometryGroups[E].vertices += F);\r\n s.geometryGroupsList = [];\r\n var L = void 0;\r\n for (L in s.geometryGroups)\r\n (s.geometryGroups[L].id = pa++),\r\n s.geometryGroupsList.push(s.geometryGroups[L]);\r\n }\r\n for (l in m.geometryGroups)\r\n if (((r = m.geometryGroups[l]), !r.__webglVertexBuffer)) {\r\n var H = r;\r\n H.__webglVertexBuffer = j.createBuffer();\r\n H.__webglNormalBuffer = j.createBuffer();\r\n H.__webglTangentBuffer = j.createBuffer();\r\n H.__webglColorBuffer = j.createBuffer();\r\n H.__webglUVBuffer = j.createBuffer();\r\n H.__webglUV2Buffer = j.createBuffer();\r\n H.__webglSkinIndicesBuffer = j.createBuffer();\r\n H.__webglSkinWeightsBuffer = j.createBuffer();\r\n H.__webglFaceBuffer = j.createBuffer();\r\n H.__webglLineBuffer = j.createBuffer();\r\n var M = void 0,\r\n P = void 0;\r\n if (H.numMorphTargets) {\r\n H.__webglMorphTargetsBuffers = [];\r\n M = 0;\r\n for (P = H.numMorphTargets; M < P; M++)\r\n H.__webglMorphTargetsBuffers.push(j.createBuffer());\r\n }\r\n if (H.numMorphNormals) {\r\n H.__webglMorphNormalsBuffers = [];\r\n M = 0;\r\n for (P = H.numMorphNormals; M < P; M++)\r\n H.__webglMorphNormalsBuffers.push(j.createBuffer());\r\n }\r\n N.info.memory.geometries++;\r\n d(r, b);\r\n m.verticesNeedUpdate = !0;\r\n m.morphTargetsNeedUpdate = !0;\r\n m.elementsNeedUpdate = !0;\r\n m.uvsNeedUpdate = !0;\r\n m.normalsNeedUpdate = !0;\r\n m.tangentsNeedUpdate = !0;\r\n m.colorsNeedUpdate = !0;\r\n }\r\n } else m instanceof THREE.BufferGeometry && h(m);\r\n else if (b instanceof THREE.Ribbon) {\r\n if (((m = b.geometry), !m.__webglVertexBuffer)) {\r\n var U = m;\r\n U.__webglVertexBuffer = j.createBuffer();\r\n U.__webglColorBuffer = j.createBuffer();\r\n U.__webglNormalBuffer = j.createBuffer();\r\n N.info.memory.geometries++;\r\n var aa = m,\r\n W = b,\r\n Y = aa.vertices.length;\r\n aa.__vertexArray = new Float32Array(3 * Y);\r\n aa.__colorArray = new Float32Array(3 * Y);\r\n aa.__normalArray = new Float32Array(3 * Y);\r\n aa.__webglVertexCount = Y;\r\n c(aa, W);\r\n m.verticesNeedUpdate = !0;\r\n m.colorsNeedUpdate = !0;\r\n m.normalsNeedUpdate = !0;\r\n }\r\n } else if (b instanceof THREE.Line) {\r\n if (((m = b.geometry), !m.__webglVertexBuffer))\r\n if (m instanceof THREE.Geometry) {\r\n var Z = m;\r\n Z.__webglVertexBuffer = j.createBuffer();\r\n Z.__webglColorBuffer = j.createBuffer();\r\n Z.__webglLineDistanceBuffer = j.createBuffer();\r\n N.info.memory.geometries++;\r\n var X = m,\r\n da = b,\r\n ka = X.vertices.length;\r\n X.__vertexArray = new Float32Array(3 * ka);\r\n X.__colorArray = new Float32Array(3 * ka);\r\n X.__lineDistanceArray = new Float32Array(1 * ka);\r\n X.__webglLineCount = ka;\r\n c(X, da);\r\n m.verticesNeedUpdate = !0;\r\n m.colorsNeedUpdate = !0;\r\n m.lineDistancesNeedUpdate = !0;\r\n } else m instanceof THREE.BufferGeometry && h(m);\r\n } else if (\r\n b instanceof THREE.ParticleSystem &&\r\n ((m = b.geometry), !m.__webglVertexBuffer)\r\n )\r\n if (m instanceof THREE.Geometry) {\r\n var fa = m;\r\n fa.__webglVertexBuffer = j.createBuffer();\r\n fa.__webglColorBuffer = j.createBuffer();\r\n N.info.memory.geometries++;\r\n var ca = m,\r\n Ma = b,\r\n ha = ca.vertices.length;\r\n ca.__vertexArray = new Float32Array(3 * ha);\r\n ca.__colorArray = new Float32Array(3 * ha);\r\n ca.__sortArray = [];\r\n ca.__webglParticleCount = ha;\r\n c(ca, Ma);\r\n m.verticesNeedUpdate = !0;\r\n m.colorsNeedUpdate = !0;\r\n } else m instanceof THREE.BufferGeometry && h(m);\r\n if (!b.__webglActive) {\r\n if (b instanceof THREE.Mesh)\r\n if (((m = b.geometry), m instanceof THREE.BufferGeometry))\r\n q(k.__webglObjects, m, b);\r\n else {\r\n if (m instanceof THREE.Geometry)\r\n for (l in m.geometryGroups)\r\n (r = m.geometryGroups[l]), q(k.__webglObjects, r, b);\r\n }\r\n else\r\n b instanceof THREE.Ribbon ||\r\n b instanceof THREE.Line ||\r\n b instanceof THREE.ParticleSystem\r\n ? ((m = b.geometry), q(k.__webglObjects, m, b))\r\n : b instanceof THREE.ImmediateRenderObject ||\r\n b.immediateRenderCallback\r\n ? k.__webglObjectsImmediate.push({\r\n object: b,\r\n opaque: null,\r\n transparent: null\r\n })\r\n : b instanceof THREE.Sprite\r\n ? k.__webglSprites.push(b)\r\n : b instanceof THREE.LensFlare && k.__webglFlares.push(b);\r\n b.__webglActive = !0;\r\n }\r\n a.__objectsAdded.splice(0, 1);\r\n }\r\n for (; a.__objectsRemoved.length; ) {\r\n var Na = a.__objectsRemoved[0],\r\n la = a;\r\n Na instanceof THREE.Mesh ||\r\n Na instanceof THREE.ParticleSystem ||\r\n Na instanceof THREE.Ribbon ||\r\n Na instanceof THREE.Line\r\n ? z(la.__webglObjects, Na)\r\n : Na instanceof THREE.Sprite\r\n ? t(la.__webglSprites, Na)\r\n : Na instanceof THREE.LensFlare\r\n ? t(la.__webglFlares, Na)\r\n : (Na instanceof THREE.ImmediateRenderObject ||\r\n Na.immediateRenderCallback) &&\r\n z(la.__webglObjectsImmediate, Na);\r\n Na.__webglActive = !1;\r\n a.__objectsRemoved.splice(0, 1);\r\n }\r\n for (var oa = 0, ra = a.__webglObjects.length; oa < ra; oa++) {\r\n var ta = a.__webglObjects[oa].object,\r\n O = ta.geometry,\r\n mb = void 0,\r\n qa = void 0,\r\n ia = void 0;\r\n if (ta instanceof THREE.Mesh)\r\n if (O instanceof THREE.BufferGeometry)\r\n (O.verticesNeedUpdate ||\r\n O.elementsNeedUpdate ||\r\n O.uvsNeedUpdate ||\r\n O.normalsNeedUpdate ||\r\n O.colorsNeedUpdate ||\r\n O.tangentsNeedUpdate) &&\r\n i(O, j.DYNAMIC_DRAW, !O.dynamic),\r\n (O.verticesNeedUpdate = !1),\r\n (O.elementsNeedUpdate = !1),\r\n (O.uvsNeedUpdate = !1),\r\n (O.normalsNeedUpdate = !1),\r\n (O.colorsNeedUpdate = !1),\r\n (O.tangentsNeedUpdate = !1);\r\n else {\r\n for (var Ca = 0, Ka = O.geometryGroupsList.length; Ca < Ka; Ca++)\r\n if (\r\n ((mb = O.geometryGroupsList[Ca]),\r\n (ia = e(ta, mb)),\r\n O.buffersNeedUpdate && d(mb, ta),\r\n (qa = ia.attributes && y(ia)),\r\n O.verticesNeedUpdate ||\r\n O.morphTargetsNeedUpdate ||\r\n O.elementsNeedUpdate ||\r\n O.uvsNeedUpdate ||\r\n O.normalsNeedUpdate ||\r\n O.colorsNeedUpdate ||\r\n O.tangentsNeedUpdate ||\r\n qa)\r\n ) {\r\n var sa = mb,\r\n La = ta,\r\n Pa = j.DYNAMIC_DRAW,\r\n Va = !O.dynamic,\r\n Fa = ia;\r\n if (sa.__inittedArrays) {\r\n var gb = f(Fa),\r\n Wa = Fa.vertexColors ? Fa.vertexColors : !1,\r\n bb = g(Fa),\r\n $a = gb === THREE.SmoothShading,\r\n D = void 0,\r\n V = void 0,\r\n Ra = void 0,\r\n Q = void 0,\r\n ab = void 0,\r\n Xa = void 0,\r\n Sa = void 0,\r\n nb = void 0,\r\n cb = void 0,\r\n pb = void 0,\r\n ub = void 0,\r\n R = void 0,\r\n S = void 0,\r\n T = void 0,\r\n na = void 0,\r\n Mb = void 0,\r\n Nb = void 0,\r\n Ob = void 0,\r\n xb = void 0,\r\n Pb = void 0,\r\n Qb = void 0,\r\n Rb = void 0,\r\n yb = void 0,\r\n Sb = void 0,\r\n Tb = void 0,\r\n Ub = void 0,\r\n zb = void 0,\r\n Vb = void 0,\r\n Wb = void 0,\r\n Xb = void 0,\r\n Ib = void 0,\r\n Yb = void 0,\r\n Zb = void 0,\r\n $b = void 0,\r\n Jb = void 0,\r\n xa = void 0,\r\n fc = void 0,\r\n nc = void 0,\r\n Ab = void 0,\r\n yc = void 0,\r\n db = void 0,\r\n mc = void 0,\r\n Ya = void 0,\r\n Za = void 0,\r\n oc = void 0,\r\n hc = void 0,\r\n Oa = 0,\r\n Ua = 0,\r\n ic = 0,\r\n jc = 0,\r\n Eb = 0,\r\n kb = 0,\r\n Aa = 0,\r\n ob = 0,\r\n Ta = 0,\r\n ba = 0,\r\n ja = 0,\r\n w = 0,\r\n ya = void 0,\r\n eb = sa.__vertexArray,\r\n Dc = sa.__uvArray,\r\n Ec = sa.__uv2Array,\r\n Fb = sa.__normalArray,\r\n Ga = sa.__tangentArray,\r\n fb = sa.__colorArray,\r\n Ha = sa.__skinIndexArray,\r\n Ia = sa.__skinWeightArray,\r\n sc = sa.__morphTargetsArrays,\r\n tc = sa.__morphNormalsArrays,\r\n od = sa.__webglCustomAttributesList,\r\n u = void 0,\r\n ac = sa.__faceArray,\r\n wb = sa.__lineArray,\r\n qb = La.geometry,\r\n Mc = qb.elementsNeedUpdate,\r\n Cc = qb.uvsNeedUpdate,\r\n Nc = qb.normalsNeedUpdate,\r\n Oc = qb.tangentsNeedUpdate,\r\n Pc = qb.colorsNeedUpdate,\r\n fd = qb.morphTargetsNeedUpdate,\r\n uc = qb.vertices,\r\n ua = sa.faces3,\r\n va = sa.faces4,\r\n lb = qb.faces,\r\n pd = qb.faceVertexUvs[0],\r\n qd = qb.faceVertexUvs[1],\r\n vc = qb.skinIndices,\r\n pc = qb.skinWeights,\r\n qc = qb.morphTargets,\r\n Qc = qb.morphNormals;\r\n if (qb.verticesNeedUpdate) {\r\n D = 0;\r\n for (V = ua.length; D < V; D++)\r\n (Q = lb[ua[D]]),\r\n (R = uc[Q.a]),\r\n (S = uc[Q.b]),\r\n (T = uc[Q.c]),\r\n (eb[Ua] = R.x),\r\n (eb[Ua + 1] = R.y),\r\n (eb[Ua + 2] = R.z),\r\n (eb[Ua + 3] = S.x),\r\n (eb[Ua + 4] = S.y),\r\n (eb[Ua + 5] = S.z),\r\n (eb[Ua + 6] = T.x),\r\n (eb[Ua + 7] = T.y),\r\n (eb[Ua + 8] = T.z),\r\n (Ua += 9);\r\n D = 0;\r\n for (V = va.length; D < V; D++)\r\n (Q = lb[va[D]]),\r\n (R = uc[Q.a]),\r\n (S = uc[Q.b]),\r\n (T = uc[Q.c]),\r\n (na = uc[Q.d]),\r\n (eb[Ua] = R.x),\r\n (eb[Ua + 1] = R.y),\r\n (eb[Ua + 2] = R.z),\r\n (eb[Ua + 3] = S.x),\r\n (eb[Ua + 4] = S.y),\r\n (eb[Ua + 5] = S.z),\r\n (eb[Ua + 6] = T.x),\r\n (eb[Ua + 7] = T.y),\r\n (eb[Ua + 8] = T.z),\r\n (eb[Ua + 9] = na.x),\r\n (eb[Ua + 10] = na.y),\r\n (eb[Ua + 11] = na.z),\r\n (Ua += 12);\r\n j.bindBuffer(j.ARRAY_BUFFER, sa.__webglVertexBuffer);\r\n j.bufferData(j.ARRAY_BUFFER, eb, Pa);\r\n }\r\n if (fd) {\r\n db = 0;\r\n for (mc = qc.length; db < mc; db++) {\r\n D = ja = 0;\r\n for (V = ua.length; D < V; D++)\r\n (oc = ua[D]),\r\n (Q = lb[oc]),\r\n (R = qc[db].vertices[Q.a]),\r\n (S = qc[db].vertices[Q.b]),\r\n (T = qc[db].vertices[Q.c]),\r\n (Ya = sc[db]),\r\n (Ya[ja] = R.x),\r\n (Ya[ja + 1] = R.y),\r\n (Ya[ja + 2] = R.z),\r\n (Ya[ja + 3] = S.x),\r\n (Ya[ja + 4] = S.y),\r\n (Ya[ja + 5] = S.z),\r\n (Ya[ja + 6] = T.x),\r\n (Ya[ja + 7] = T.y),\r\n (Ya[ja + 8] = T.z),\r\n Fa.morphNormals &&\r\n ($a\r\n ? ((hc = Qc[db].vertexNormals[oc]),\r\n (Pb = hc.a),\r\n (Qb = hc.b),\r\n (Rb = hc.c))\r\n : (Rb = Qb = Pb = Qc[db].faceNormals[oc]),\r\n (Za = tc[db]),\r\n (Za[ja] = Pb.x),\r\n (Za[ja + 1] = Pb.y),\r\n (Za[ja + 2] = Pb.z),\r\n (Za[ja + 3] = Qb.x),\r\n (Za[ja + 4] = Qb.y),\r\n (Za[ja + 5] = Qb.z),\r\n (Za[ja + 6] = Rb.x),\r\n (Za[ja + 7] = Rb.y),\r\n (Za[ja + 8] = Rb.z)),\r\n (ja += 9);\r\n D = 0;\r\n for (V = va.length; D < V; D++)\r\n (oc = va[D]),\r\n (Q = lb[oc]),\r\n (R = qc[db].vertices[Q.a]),\r\n (S = qc[db].vertices[Q.b]),\r\n (T = qc[db].vertices[Q.c]),\r\n (na = qc[db].vertices[Q.d]),\r\n (Ya = sc[db]),\r\n (Ya[ja] = R.x),\r\n (Ya[ja + 1] = R.y),\r\n (Ya[ja + 2] = R.z),\r\n (Ya[ja + 3] = S.x),\r\n (Ya[ja + 4] = S.y),\r\n (Ya[ja + 5] = S.z),\r\n (Ya[ja + 6] = T.x),\r\n (Ya[ja + 7] = T.y),\r\n (Ya[ja + 8] = T.z),\r\n (Ya[ja + 9] = na.x),\r\n (Ya[ja + 10] = na.y),\r\n (Ya[ja + 11] = na.z),\r\n Fa.morphNormals &&\r\n ($a\r\n ? ((hc = Qc[db].vertexNormals[oc]),\r\n (Pb = hc.a),\r\n (Qb = hc.b),\r\n (Rb = hc.c),\r\n (yb = hc.d))\r\n : (yb = Rb = Qb = Pb = Qc[db].faceNormals[oc]),\r\n (Za = tc[db]),\r\n (Za[ja] = Pb.x),\r\n (Za[ja + 1] = Pb.y),\r\n (Za[ja + 2] = Pb.z),\r\n (Za[ja + 3] = Qb.x),\r\n (Za[ja + 4] = Qb.y),\r\n (Za[ja + 5] = Qb.z),\r\n (Za[ja + 6] = Rb.x),\r\n (Za[ja + 7] = Rb.y),\r\n (Za[ja + 8] = Rb.z),\r\n (Za[ja + 9] = yb.x),\r\n (Za[ja + 10] = yb.y),\r\n (Za[ja + 11] = yb.z)),\r\n (ja += 12);\r\n j.bindBuffer(\r\n j.ARRAY_BUFFER,\r\n sa.__webglMorphTargetsBuffers[db]\r\n );\r\n j.bufferData(j.ARRAY_BUFFER, sc[db], Pa);\r\n Fa.morphNormals &&\r\n (j.bindBuffer(\r\n j.ARRAY_BUFFER,\r\n sa.__webglMorphNormalsBuffers[db]\r\n ),\r\n j.bufferData(j.ARRAY_BUFFER, tc[db], Pa));\r\n }\r\n }\r\n if (pc.length) {\r\n D = 0;\r\n for (V = ua.length; D < V; D++)\r\n (Q = lb[ua[D]]),\r\n (Vb = pc[Q.a]),\r\n (Wb = pc[Q.b]),\r\n (Xb = pc[Q.c]),\r\n (Ia[ba] = Vb.x),\r\n (Ia[ba + 1] = Vb.y),\r\n (Ia[ba + 2] = Vb.z),\r\n (Ia[ba + 3] = Vb.w),\r\n (Ia[ba + 4] = Wb.x),\r\n (Ia[ba + 5] = Wb.y),\r\n (Ia[ba + 6] = Wb.z),\r\n (Ia[ba + 7] = Wb.w),\r\n (Ia[ba + 8] = Xb.x),\r\n (Ia[ba + 9] = Xb.y),\r\n (Ia[ba + 10] = Xb.z),\r\n (Ia[ba + 11] = Xb.w),\r\n (Yb = vc[Q.a]),\r\n (Zb = vc[Q.b]),\r\n ($b = vc[Q.c]),\r\n (Ha[ba] = Yb.x),\r\n (Ha[ba + 1] = Yb.y),\r\n (Ha[ba + 2] = Yb.z),\r\n (Ha[ba + 3] = Yb.w),\r\n (Ha[ba + 4] = Zb.x),\r\n (Ha[ba + 5] = Zb.y),\r\n (Ha[ba + 6] = Zb.z),\r\n (Ha[ba + 7] = Zb.w),\r\n (Ha[ba + 8] = $b.x),\r\n (Ha[ba + 9] = $b.y),\r\n (Ha[ba + 10] = $b.z),\r\n (Ha[ba + 11] = $b.w),\r\n (ba += 12);\r\n D = 0;\r\n for (V = va.length; D < V; D++)\r\n (Q = lb[va[D]]),\r\n (Vb = pc[Q.a]),\r\n (Wb = pc[Q.b]),\r\n (Xb = pc[Q.c]),\r\n (Ib = pc[Q.d]),\r\n (Ia[ba] = Vb.x),\r\n (Ia[ba + 1] = Vb.y),\r\n (Ia[ba + 2] = Vb.z),\r\n (Ia[ba + 3] = Vb.w),\r\n (Ia[ba + 4] = Wb.x),\r\n (Ia[ba + 5] = Wb.y),\r\n (Ia[ba + 6] = Wb.z),\r\n (Ia[ba + 7] = Wb.w),\r\n (Ia[ba + 8] = Xb.x),\r\n (Ia[ba + 9] = Xb.y),\r\n (Ia[ba + 10] = Xb.z),\r\n (Ia[ba + 11] = Xb.w),\r\n (Ia[ba + 12] = Ib.x),\r\n (Ia[ba + 13] = Ib.y),\r\n (Ia[ba + 14] = Ib.z),\r\n (Ia[ba + 15] = Ib.w),\r\n (Yb = vc[Q.a]),\r\n (Zb = vc[Q.b]),\r\n ($b = vc[Q.c]),\r\n (Jb = vc[Q.d]),\r\n (Ha[ba] = Yb.x),\r\n (Ha[ba + 1] = Yb.y),\r\n (Ha[ba + 2] = Yb.z),\r\n (Ha[ba + 3] = Yb.w),\r\n (Ha[ba + 4] = Zb.x),\r\n (Ha[ba + 5] = Zb.y),\r\n (Ha[ba + 6] = Zb.z),\r\n (Ha[ba + 7] = Zb.w),\r\n (Ha[ba + 8] = $b.x),\r\n (Ha[ba + 9] = $b.y),\r\n (Ha[ba + 10] = $b.z),\r\n (Ha[ba + 11] = $b.w),\r\n (Ha[ba + 12] = Jb.x),\r\n (Ha[ba + 13] = Jb.y),\r\n (Ha[ba + 14] = Jb.z),\r\n (Ha[ba + 15] = Jb.w),\r\n (ba += 16);\r\n 0 < ba &&\r\n (j.bindBuffer(j.ARRAY_BUFFER, sa.__webglSkinIndicesBuffer),\r\n j.bufferData(j.ARRAY_BUFFER, Ha, Pa),\r\n j.bindBuffer(j.ARRAY_BUFFER, sa.__webglSkinWeightsBuffer),\r\n j.bufferData(j.ARRAY_BUFFER, Ia, Pa));\r\n }\r\n if (Pc && Wa) {\r\n D = 0;\r\n for (V = ua.length; D < V; D++)\r\n (Q = lb[ua[D]]),\r\n (Sa = Q.vertexColors),\r\n (nb = Q.color),\r\n 3 === Sa.length && Wa === THREE.VertexColors\r\n ? ((Sb = Sa[0]), (Tb = Sa[1]), (Ub = Sa[2]))\r\n : (Ub = Tb = Sb = nb),\r\n (fb[Ta] = Sb.r),\r\n (fb[Ta + 1] = Sb.g),\r\n (fb[Ta + 2] = Sb.b),\r\n (fb[Ta + 3] = Tb.r),\r\n (fb[Ta + 4] = Tb.g),\r\n (fb[Ta + 5] = Tb.b),\r\n (fb[Ta + 6] = Ub.r),\r\n (fb[Ta + 7] = Ub.g),\r\n (fb[Ta + 8] = Ub.b),\r\n (Ta += 9);\r\n D = 0;\r\n for (V = va.length; D < V; D++)\r\n (Q = lb[va[D]]),\r\n (Sa = Q.vertexColors),\r\n (nb = Q.color),\r\n 4 === Sa.length && Wa === THREE.VertexColors\r\n ? ((Sb = Sa[0]),\r\n (Tb = Sa[1]),\r\n (Ub = Sa[2]),\r\n (zb = Sa[3]))\r\n : (zb = Ub = Tb = Sb = nb),\r\n (fb[Ta] = Sb.r),\r\n (fb[Ta + 1] = Sb.g),\r\n (fb[Ta + 2] = Sb.b),\r\n (fb[Ta + 3] = Tb.r),\r\n (fb[Ta + 4] = Tb.g),\r\n (fb[Ta + 5] = Tb.b),\r\n (fb[Ta + 6] = Ub.r),\r\n (fb[Ta + 7] = Ub.g),\r\n (fb[Ta + 8] = Ub.b),\r\n (fb[Ta + 9] = zb.r),\r\n (fb[Ta + 10] = zb.g),\r\n (fb[Ta + 11] = zb.b),\r\n (Ta += 12);\r\n 0 < Ta &&\r\n (j.bindBuffer(j.ARRAY_BUFFER, sa.__webglColorBuffer),\r\n j.bufferData(j.ARRAY_BUFFER, fb, Pa));\r\n }\r\n if (Oc && qb.hasTangents) {\r\n D = 0;\r\n for (V = ua.length; D < V; D++)\r\n (Q = lb[ua[D]]),\r\n (cb = Q.vertexTangents),\r\n (Mb = cb[0]),\r\n (Nb = cb[1]),\r\n (Ob = cb[2]),\r\n (Ga[Aa] = Mb.x),\r\n (Ga[Aa + 1] = Mb.y),\r\n (Ga[Aa + 2] = Mb.z),\r\n (Ga[Aa + 3] = Mb.w),\r\n (Ga[Aa + 4] = Nb.x),\r\n (Ga[Aa + 5] = Nb.y),\r\n (Ga[Aa + 6] = Nb.z),\r\n (Ga[Aa + 7] = Nb.w),\r\n (Ga[Aa + 8] = Ob.x),\r\n (Ga[Aa + 9] = Ob.y),\r\n (Ga[Aa + 10] = Ob.z),\r\n (Ga[Aa + 11] = Ob.w),\r\n (Aa += 12);\r\n D = 0;\r\n for (V = va.length; D < V; D++)\r\n (Q = lb[va[D]]),\r\n (cb = Q.vertexTangents),\r\n (Mb = cb[0]),\r\n (Nb = cb[1]),\r\n (Ob = cb[2]),\r\n (xb = cb[3]),\r\n (Ga[Aa] = Mb.x),\r\n (Ga[Aa + 1] = Mb.y),\r\n (Ga[Aa + 2] = Mb.z),\r\n (Ga[Aa + 3] = Mb.w),\r\n (Ga[Aa + 4] = Nb.x),\r\n (Ga[Aa + 5] = Nb.y),\r\n (Ga[Aa + 6] = Nb.z),\r\n (Ga[Aa + 7] = Nb.w),\r\n (Ga[Aa + 8] = Ob.x),\r\n (Ga[Aa + 9] = Ob.y),\r\n (Ga[Aa + 10] = Ob.z),\r\n (Ga[Aa + 11] = Ob.w),\r\n (Ga[Aa + 12] = xb.x),\r\n (Ga[Aa + 13] = xb.y),\r\n (Ga[Aa + 14] = xb.z),\r\n (Ga[Aa + 15] = xb.w),\r\n (Aa += 16);\r\n j.bindBuffer(j.ARRAY_BUFFER, sa.__webglTangentBuffer);\r\n j.bufferData(j.ARRAY_BUFFER, Ga, Pa);\r\n }\r\n if (Nc && gb) {\r\n D = 0;\r\n for (V = ua.length; D < V; D++)\r\n if (\r\n ((Q = lb[ua[D]]),\r\n (ab = Q.vertexNormals),\r\n (Xa = Q.normal),\r\n 3 === ab.length && $a)\r\n )\r\n for (xa = 0; 3 > xa; xa++)\r\n (nc = ab[xa]),\r\n (Fb[kb] = nc.x),\r\n (Fb[kb + 1] = nc.y),\r\n (Fb[kb + 2] = nc.z),\r\n (kb += 3);\r\n else\r\n for (xa = 0; 3 > xa; xa++)\r\n (Fb[kb] = Xa.x),\r\n (Fb[kb + 1] = Xa.y),\r\n (Fb[kb + 2] = Xa.z),\r\n (kb += 3);\r\n D = 0;\r\n for (V = va.length; D < V; D++)\r\n if (\r\n ((Q = lb[va[D]]),\r\n (ab = Q.vertexNormals),\r\n (Xa = Q.normal),\r\n 4 === ab.length && $a)\r\n )\r\n for (xa = 0; 4 > xa; xa++)\r\n (nc = ab[xa]),\r\n (Fb[kb] = nc.x),\r\n (Fb[kb + 1] = nc.y),\r\n (Fb[kb + 2] = nc.z),\r\n (kb += 3);\r\n else\r\n for (xa = 0; 4 > xa; xa++)\r\n (Fb[kb] = Xa.x),\r\n (Fb[kb + 1] = Xa.y),\r\n (Fb[kb + 2] = Xa.z),\r\n (kb += 3);\r\n j.bindBuffer(j.ARRAY_BUFFER, sa.__webglNormalBuffer);\r\n j.bufferData(j.ARRAY_BUFFER, Fb, Pa);\r\n }\r\n if (Cc && pd && bb) {\r\n D = 0;\r\n for (V = ua.length; D < V; D++)\r\n if (((Ra = ua[D]), (pb = pd[Ra]), void 0 !== pb))\r\n for (xa = 0; 3 > xa; xa++)\r\n (Ab = pb[xa]),\r\n (Dc[ic] = Ab.x),\r\n (Dc[ic + 1] = Ab.y),\r\n (ic += 2);\r\n D = 0;\r\n for (V = va.length; D < V; D++)\r\n if (((Ra = va[D]), (pb = pd[Ra]), void 0 !== pb))\r\n for (xa = 0; 4 > xa; xa++)\r\n (Ab = pb[xa]),\r\n (Dc[ic] = Ab.x),\r\n (Dc[ic + 1] = Ab.y),\r\n (ic += 2);\r\n 0 < ic &&\r\n (j.bindBuffer(j.ARRAY_BUFFER, sa.__webglUVBuffer),\r\n j.bufferData(j.ARRAY_BUFFER, Dc, Pa));\r\n }\r\n if (Cc && qd && bb) {\r\n D = 0;\r\n for (V = ua.length; D < V; D++)\r\n if (((Ra = ua[D]), (ub = qd[Ra]), void 0 !== ub))\r\n for (xa = 0; 3 > xa; xa++)\r\n (yc = ub[xa]),\r\n (Ec[jc] = yc.x),\r\n (Ec[jc + 1] = yc.y),\r\n (jc += 2);\r\n D = 0;\r\n for (V = va.length; D < V; D++)\r\n if (((Ra = va[D]), (ub = qd[Ra]), void 0 !== ub))\r\n for (xa = 0; 4 > xa; xa++)\r\n (yc = ub[xa]),\r\n (Ec[jc] = yc.x),\r\n (Ec[jc + 1] = yc.y),\r\n (jc += 2);\r\n 0 < jc &&\r\n (j.bindBuffer(j.ARRAY_BUFFER, sa.__webglUV2Buffer),\r\n j.bufferData(j.ARRAY_BUFFER, Ec, Pa));\r\n }\r\n if (Mc) {\r\n D = 0;\r\n for (V = ua.length; D < V; D++)\r\n (ac[Eb] = Oa),\r\n (ac[Eb + 1] = Oa + 1),\r\n (ac[Eb + 2] = Oa + 2),\r\n (Eb += 3),\r\n (wb[ob] = Oa),\r\n (wb[ob + 1] = Oa + 1),\r\n (wb[ob + 2] = Oa),\r\n (wb[ob + 3] = Oa + 2),\r\n (wb[ob + 4] = Oa + 1),\r\n (wb[ob + 5] = Oa + 2),\r\n (ob += 6),\r\n (Oa += 3);\r\n D = 0;\r\n for (V = va.length; D < V; D++)\r\n (ac[Eb] = Oa),\r\n (ac[Eb + 1] = Oa + 1),\r\n (ac[Eb + 2] = Oa + 3),\r\n (ac[Eb + 3] = Oa + 1),\r\n (ac[Eb + 4] = Oa + 2),\r\n (ac[Eb + 5] = Oa + 3),\r\n (Eb += 6),\r\n (wb[ob] = Oa),\r\n (wb[ob + 1] = Oa + 1),\r\n (wb[ob + 2] = Oa),\r\n (wb[ob + 3] = Oa + 3),\r\n (wb[ob + 4] = Oa + 1),\r\n (wb[ob + 5] = Oa + 2),\r\n (wb[ob + 6] = Oa + 2),\r\n (wb[ob + 7] = Oa + 3),\r\n (ob += 8),\r\n (Oa += 4);\r\n j.bindBuffer(j.ELEMENT_ARRAY_BUFFER, sa.__webglFaceBuffer);\r\n j.bufferData(j.ELEMENT_ARRAY_BUFFER, ac, Pa);\r\n j.bindBuffer(j.ELEMENT_ARRAY_BUFFER, sa.__webglLineBuffer);\r\n j.bufferData(j.ELEMENT_ARRAY_BUFFER, wb, Pa);\r\n }\r\n if (od) {\r\n xa = 0;\r\n for (fc = od.length; xa < fc; xa++)\r\n if (((u = od[xa]), u.__original.needsUpdate)) {\r\n w = 0;\r\n if (1 === u.size)\r\n if (void 0 === u.boundTo || \"vertices\" === u.boundTo) {\r\n D = 0;\r\n for (V = ua.length; D < V; D++)\r\n (Q = lb[ua[D]]),\r\n (u.array[w] = u.value[Q.a]),\r\n (u.array[w + 1] = u.value[Q.b]),\r\n (u.array[w + 2] = u.value[Q.c]),\r\n (w += 3);\r\n D = 0;\r\n for (V = va.length; D < V; D++)\r\n (Q = lb[va[D]]),\r\n (u.array[w] = u.value[Q.a]),\r\n (u.array[w + 1] = u.value[Q.b]),\r\n (u.array[w + 2] = u.value[Q.c]),\r\n (u.array[w + 3] = u.value[Q.d]),\r\n (w += 4);\r\n } else {\r\n if (\"faces\" === u.boundTo) {\r\n D = 0;\r\n for (V = ua.length; D < V; D++)\r\n (ya = u.value[ua[D]]),\r\n (u.array[w] = ya),\r\n (u.array[w + 1] = ya),\r\n (u.array[w + 2] = ya),\r\n (w += 3);\r\n D = 0;\r\n for (V = va.length; D < V; D++)\r\n (ya = u.value[va[D]]),\r\n (u.array[w] = ya),\r\n (u.array[w + 1] = ya),\r\n (u.array[w + 2] = ya),\r\n (u.array[w + 3] = ya),\r\n (w += 4);\r\n }\r\n }\r\n else if (2 === u.size)\r\n if (void 0 === u.boundTo || \"vertices\" === u.boundTo) {\r\n D = 0;\r\n for (V = ua.length; D < V; D++)\r\n (Q = lb[ua[D]]),\r\n (R = u.value[Q.a]),\r\n (S = u.value[Q.b]),\r\n (T = u.value[Q.c]),\r\n (u.array[w] = R.x),\r\n (u.array[w + 1] = R.y),\r\n (u.array[w + 2] = S.x),\r\n (u.array[w + 3] = S.y),\r\n (u.array[w + 4] = T.x),\r\n (u.array[w + 5] = T.y),\r\n (w += 6);\r\n D = 0;\r\n for (V = va.length; D < V; D++)\r\n (Q = lb[va[D]]),\r\n (R = u.value[Q.a]),\r\n (S = u.value[Q.b]),\r\n (T = u.value[Q.c]),\r\n (na = u.value[Q.d]),\r\n (u.array[w] = R.x),\r\n (u.array[w + 1] = R.y),\r\n (u.array[w + 2] = S.x),\r\n (u.array[w + 3] = S.y),\r\n (u.array[w + 4] = T.x),\r\n (u.array[w + 5] = T.y),\r\n (u.array[w + 6] = na.x),\r\n (u.array[w + 7] = na.y),\r\n (w += 8);\r\n } else {\r\n if (\"faces\" === u.boundTo) {\r\n D = 0;\r\n for (V = ua.length; D < V; D++)\r\n (T = S = R = ya = u.value[ua[D]]),\r\n (u.array[w] = R.x),\r\n (u.array[w + 1] = R.y),\r\n (u.array[w + 2] = S.x),\r\n (u.array[w + 3] = S.y),\r\n (u.array[w + 4] = T.x),\r\n (u.array[w + 5] = T.y),\r\n (w += 6);\r\n D = 0;\r\n for (V = va.length; D < V; D++)\r\n (na = T = S = R = ya = u.value[va[D]]),\r\n (u.array[w] = R.x),\r\n (u.array[w + 1] = R.y),\r\n (u.array[w + 2] = S.x),\r\n (u.array[w + 3] = S.y),\r\n (u.array[w + 4] = T.x),\r\n (u.array[w + 5] = T.y),\r\n (u.array[w + 6] = na.x),\r\n (u.array[w + 7] = na.y),\r\n (w += 8);\r\n }\r\n }\r\n else if (3 === u.size) {\r\n var $;\r\n $ = \"c\" === u.type ? [\"r\", \"g\", \"b\"] : [\"x\", \"y\", \"z\"];\r\n if (void 0 === u.boundTo || \"vertices\" === u.boundTo) {\r\n D = 0;\r\n for (V = ua.length; D < V; D++)\r\n (Q = lb[ua[D]]),\r\n (R = u.value[Q.a]),\r\n (S = u.value[Q.b]),\r\n (T = u.value[Q.c]),\r\n (u.array[w] = R[$[0]]),\r\n (u.array[w + 1] = R[$[1]]),\r\n (u.array[w + 2] = R[$[2]]),\r\n (u.array[w + 3] = S[$[0]]),\r\n (u.array[w + 4] = S[$[1]]),\r\n (u.array[w + 5] = S[$[2]]),\r\n (u.array[w + 6] = T[$[0]]),\r\n (u.array[w + 7] = T[$[1]]),\r\n (u.array[w + 8] = T[$[2]]),\r\n (w += 9);\r\n D = 0;\r\n for (V = va.length; D < V; D++)\r\n (Q = lb[va[D]]),\r\n (R = u.value[Q.a]),\r\n (S = u.value[Q.b]),\r\n (T = u.value[Q.c]),\r\n (na = u.value[Q.d]),\r\n (u.array[w] = R[$[0]]),\r\n (u.array[w + 1] = R[$[1]]),\r\n (u.array[w + 2] = R[$[2]]),\r\n (u.array[w + 3] = S[$[0]]),\r\n (u.array[w + 4] = S[$[1]]),\r\n (u.array[w + 5] = S[$[2]]),\r\n (u.array[w + 6] = T[$[0]]),\r\n (u.array[w + 7] = T[$[1]]),\r\n (u.array[w + 8] = T[$[2]]),\r\n (u.array[w + 9] = na[$[0]]),\r\n (u.array[w + 10] = na[$[1]]),\r\n (u.array[w + 11] = na[$[2]]),\r\n (w += 12);\r\n } else if (\"faces\" === u.boundTo) {\r\n D = 0;\r\n for (V = ua.length; D < V; D++)\r\n (T = S = R = ya = u.value[ua[D]]),\r\n (u.array[w] = R[$[0]]),\r\n (u.array[w + 1] = R[$[1]]),\r\n (u.array[w + 2] = R[$[2]]),\r\n (u.array[w + 3] = S[$[0]]),\r\n (u.array[w + 4] = S[$[1]]),\r\n (u.array[w + 5] = S[$[2]]),\r\n (u.array[w + 6] = T[$[0]]),\r\n (u.array[w + 7] = T[$[1]]),\r\n (u.array[w + 8] = T[$[2]]),\r\n (w += 9);\r\n D = 0;\r\n for (V = va.length; D < V; D++)\r\n (na = T = S = R = ya = u.value[va[D]]),\r\n (u.array[w] = R[$[0]]),\r\n (u.array[w + 1] = R[$[1]]),\r\n (u.array[w + 2] = R[$[2]]),\r\n (u.array[w + 3] = S[$[0]]),\r\n (u.array[w + 4] = S[$[1]]),\r\n (u.array[w + 5] = S[$[2]]),\r\n (u.array[w + 6] = T[$[0]]),\r\n (u.array[w + 7] = T[$[1]]),\r\n (u.array[w + 8] = T[$[2]]),\r\n (u.array[w + 9] = na[$[0]]),\r\n (u.array[w + 10] = na[$[1]]),\r\n (u.array[w + 11] = na[$[2]]),\r\n (w += 12);\r\n } else if (\"faceVertices\" === u.boundTo) {\r\n D = 0;\r\n for (V = ua.length; D < V; D++)\r\n (ya = u.value[ua[D]]),\r\n (R = ya[0]),\r\n (S = ya[1]),\r\n (T = ya[2]),\r\n (u.array[w] = R[$[0]]),\r\n (u.array[w + 1] = R[$[1]]),\r\n (u.array[w + 2] = R[$[2]]),\r\n (u.array[w + 3] = S[$[0]]),\r\n (u.array[w + 4] = S[$[1]]),\r\n (u.array[w + 5] = S[$[2]]),\r\n (u.array[w + 6] = T[$[0]]),\r\n (u.array[w + 7] = T[$[1]]),\r\n (u.array[w + 8] = T[$[2]]),\r\n (w += 9);\r\n D = 0;\r\n for (V = va.length; D < V; D++)\r\n (ya = u.value[va[D]]),\r\n (R = ya[0]),\r\n (S = ya[1]),\r\n (T = ya[2]),\r\n (na = ya[3]),\r\n (u.array[w] = R[$[0]]),\r\n (u.array[w + 1] = R[$[1]]),\r\n (u.array[w + 2] = R[$[2]]),\r\n (u.array[w + 3] = S[$[0]]),\r\n (u.array[w + 4] = S[$[1]]),\r\n (u.array[w + 5] = S[$[2]]),\r\n (u.array[w + 6] = T[$[0]]),\r\n (u.array[w + 7] = T[$[1]]),\r\n (u.array[w + 8] = T[$[2]]),\r\n (u.array[w + 9] = na[$[0]]),\r\n (u.array[w + 10] = na[$[1]]),\r\n (u.array[w + 11] = na[$[2]]),\r\n (w += 12);\r\n }\r\n } else if (4 === u.size)\r\n if (void 0 === u.boundTo || \"vertices\" === u.boundTo) {\r\n D = 0;\r\n for (V = ua.length; D < V; D++)\r\n (Q = lb[ua[D]]),\r\n (R = u.value[Q.a]),\r\n (S = u.value[Q.b]),\r\n (T = u.value[Q.c]),\r\n (u.array[w] = R.x),\r\n (u.array[w + 1] = R.y),\r\n (u.array[w + 2] = R.z),\r\n (u.array[w + 3] = R.w),\r\n (u.array[w + 4] = S.x),\r\n (u.array[w + 5] = S.y),\r\n (u.array[w + 6] = S.z),\r\n (u.array[w + 7] = S.w),\r\n (u.array[w + 8] = T.x),\r\n (u.array[w + 9] = T.y),\r\n (u.array[w + 10] = T.z),\r\n (u.array[w + 11] = T.w),\r\n (w += 12);\r\n D = 0;\r\n for (V = va.length; D < V; D++)\r\n (Q = lb[va[D]]),\r\n (R = u.value[Q.a]),\r\n (S = u.value[Q.b]),\r\n (T = u.value[Q.c]),\r\n (na = u.value[Q.d]),\r\n (u.array[w] = R.x),\r\n (u.array[w + 1] = R.y),\r\n (u.array[w + 2] = R.z),\r\n (u.array[w + 3] = R.w),\r\n (u.array[w + 4] = S.x),\r\n (u.array[w + 5] = S.y),\r\n (u.array[w + 6] = S.z),\r\n (u.array[w + 7] = S.w),\r\n (u.array[w + 8] = T.x),\r\n (u.array[w + 9] = T.y),\r\n (u.array[w + 10] = T.z),\r\n (u.array[w + 11] = T.w),\r\n (u.array[w + 12] = na.x),\r\n (u.array[w + 13] = na.y),\r\n (u.array[w + 14] = na.z),\r\n (u.array[w + 15] = na.w),\r\n (w += 16);\r\n } else if (\"faces\" === u.boundTo) {\r\n D = 0;\r\n for (V = ua.length; D < V; D++)\r\n (T = S = R = ya = u.value[ua[D]]),\r\n (u.array[w] = R.x),\r\n (u.array[w + 1] = R.y),\r\n (u.array[w + 2] = R.z),\r\n (u.array[w + 3] = R.w),\r\n (u.array[w + 4] = S.x),\r\n (u.array[w + 5] = S.y),\r\n (u.array[w + 6] = S.z),\r\n (u.array[w + 7] = S.w),\r\n (u.array[w + 8] = T.x),\r\n (u.array[w + 9] = T.y),\r\n (u.array[w + 10] = T.z),\r\n (u.array[w + 11] = T.w),\r\n (w += 12);\r\n D = 0;\r\n for (V = va.length; D < V; D++)\r\n (na = T = S = R = ya = u.value[va[D]]),\r\n (u.array[w] = R.x),\r\n (u.array[w + 1] = R.y),\r\n (u.array[w + 2] = R.z),\r\n (u.array[w + 3] = R.w),\r\n (u.array[w + 4] = S.x),\r\n (u.array[w + 5] = S.y),\r\n (u.array[w + 6] = S.z),\r\n (u.array[w + 7] = S.w),\r\n (u.array[w + 8] = T.x),\r\n (u.array[w + 9] = T.y),\r\n (u.array[w + 10] = T.z),\r\n (u.array[w + 11] = T.w),\r\n (u.array[w + 12] = na.x),\r\n (u.array[w + 13] = na.y),\r\n (u.array[w + 14] = na.z),\r\n (u.array[w + 15] = na.w),\r\n (w += 16);\r\n } else if (\"faceVertices\" === u.boundTo) {\r\n D = 0;\r\n for (V = ua.length; D < V; D++)\r\n (ya = u.value[ua[D]]),\r\n (R = ya[0]),\r\n (S = ya[1]),\r\n (T = ya[2]),\r\n (u.array[w] = R.x),\r\n (u.array[w + 1] = R.y),\r\n (u.array[w + 2] = R.z),\r\n (u.array[w + 3] = R.w),\r\n (u.array[w + 4] = S.x),\r\n (u.array[w + 5] = S.y),\r\n (u.array[w + 6] = S.z),\r\n (u.array[w + 7] = S.w),\r\n (u.array[w + 8] = T.x),\r\n (u.array[w + 9] = T.y),\r\n (u.array[w + 10] = T.z),\r\n (u.array[w + 11] = T.w),\r\n (w += 12);\r\n D = 0;\r\n for (V = va.length; D < V; D++)\r\n (ya = u.value[va[D]]),\r\n (R = ya[0]),\r\n (S = ya[1]),\r\n (T = ya[2]),\r\n (na = ya[3]),\r\n (u.array[w] = R.x),\r\n (u.array[w + 1] = R.y),\r\n (u.array[w + 2] = R.z),\r\n (u.array[w + 3] = R.w),\r\n (u.array[w + 4] = S.x),\r\n (u.array[w + 5] = S.y),\r\n (u.array[w + 6] = S.z),\r\n (u.array[w + 7] = S.w),\r\n (u.array[w + 8] = T.x),\r\n (u.array[w + 9] = T.y),\r\n (u.array[w + 10] = T.z),\r\n (u.array[w + 11] = T.w),\r\n (u.array[w + 12] = na.x),\r\n (u.array[w + 13] = na.y),\r\n (u.array[w + 14] = na.z),\r\n (u.array[w + 15] = na.w),\r\n (w += 16);\r\n }\r\n j.bindBuffer(j.ARRAY_BUFFER, u.buffer);\r\n j.bufferData(j.ARRAY_BUFFER, u.array, Pa);\r\n }\r\n }\r\n Va &&\r\n (delete sa.__inittedArrays,\r\n delete sa.__colorArray,\r\n delete sa.__normalArray,\r\n delete sa.__tangentArray,\r\n delete sa.__uvArray,\r\n delete sa.__uv2Array,\r\n delete sa.__faceArray,\r\n delete sa.__vertexArray,\r\n delete sa.__lineArray,\r\n delete sa.__skinIndexArray,\r\n delete sa.__skinWeightArray);\r\n }\r\n }\r\n O.verticesNeedUpdate = !1;\r\n O.morphTargetsNeedUpdate = !1;\r\n O.elementsNeedUpdate = !1;\r\n O.uvsNeedUpdate = !1;\r\n O.normalsNeedUpdate = !1;\r\n O.colorsNeedUpdate = !1;\r\n O.tangentsNeedUpdate = !1;\r\n O.buffersNeedUpdate = !1;\r\n ia.attributes && v(ia);\r\n }\r\n else if (ta instanceof THREE.Ribbon) {\r\n ia = e(ta, O);\r\n qa = ia.attributes && y(ia);\r\n if (\r\n O.verticesNeedUpdate ||\r\n O.colorsNeedUpdate ||\r\n O.normalsNeedUpdate ||\r\n qa\r\n ) {\r\n var Gb = O,\r\n Rc = j.DYNAMIC_DRAW,\r\n Fc = void 0,\r\n Gc = void 0,\r\n Hc = void 0,\r\n Sc = void 0,\r\n za = void 0,\r\n Tc = void 0,\r\n Uc = void 0,\r\n Vc = void 0,\r\n xd = void 0,\r\n ib = void 0,\r\n zc = void 0,\r\n Da = void 0,\r\n rb = void 0,\r\n yd = Gb.vertices,\r\n zd = Gb.colors,\r\n Ad = Gb.normals,\r\n gd = yd.length,\r\n hd = zd.length,\r\n id = Ad.length,\r\n Wc = Gb.__vertexArray,\r\n Xc = Gb.__colorArray,\r\n Yc = Gb.__normalArray,\r\n jd = Gb.colorsNeedUpdate,\r\n kd = Gb.normalsNeedUpdate,\r\n rd = Gb.__webglCustomAttributesList;\r\n if (Gb.verticesNeedUpdate) {\r\n for (Fc = 0; Fc < gd; Fc++)\r\n (Sc = yd[Fc]),\r\n (za = 3 * Fc),\r\n (Wc[za] = Sc.x),\r\n (Wc[za + 1] = Sc.y),\r\n (Wc[za + 2] = Sc.z);\r\n j.bindBuffer(j.ARRAY_BUFFER, Gb.__webglVertexBuffer);\r\n j.bufferData(j.ARRAY_BUFFER, Wc, Rc);\r\n }\r\n if (jd) {\r\n for (Gc = 0; Gc < hd; Gc++)\r\n (Tc = zd[Gc]),\r\n (za = 3 * Gc),\r\n (Xc[za] = Tc.r),\r\n (Xc[za + 1] = Tc.g),\r\n (Xc[za + 2] = Tc.b);\r\n j.bindBuffer(j.ARRAY_BUFFER, Gb.__webglColorBuffer);\r\n j.bufferData(j.ARRAY_BUFFER, Xc, Rc);\r\n }\r\n if (kd) {\r\n for (Hc = 0; Hc < id; Hc++)\r\n (Uc = Ad[Hc]),\r\n (za = 3 * Hc),\r\n (Yc[za] = Uc.x),\r\n (Yc[za + 1] = Uc.y),\r\n (Yc[za + 2] = Uc.z);\r\n j.bindBuffer(j.ARRAY_BUFFER, Gb.__webglNormalBuffer);\r\n j.bufferData(j.ARRAY_BUFFER, Yc, Rc);\r\n }\r\n if (rd) {\r\n Vc = 0;\r\n for (xd = rd.length; Vc < xd; Vc++)\r\n if (\r\n ((Da = rd[Vc]),\r\n Da.needsUpdate &&\r\n (void 0 === Da.boundTo || \"vertices\" === Da.boundTo))\r\n ) {\r\n za = 0;\r\n zc = Da.value.length;\r\n if (1 === Da.size)\r\n for (ib = 0; ib < zc; ib++) Da.array[ib] = Da.value[ib];\r\n else if (2 === Da.size)\r\n for (ib = 0; ib < zc; ib++)\r\n (rb = Da.value[ib]),\r\n (Da.array[za] = rb.x),\r\n (Da.array[za + 1] = rb.y),\r\n (za += 2);\r\n else if (3 === Da.size)\r\n if (\"c\" === Da.type)\r\n for (ib = 0; ib < zc; ib++)\r\n (rb = Da.value[ib]),\r\n (Da.array[za] = rb.r),\r\n (Da.array[za + 1] = rb.g),\r\n (Da.array[za + 2] = rb.b),\r\n (za += 3);\r\n else\r\n for (ib = 0; ib < zc; ib++)\r\n (rb = Da.value[ib]),\r\n (Da.array[za] = rb.x),\r\n (Da.array[za + 1] = rb.y),\r\n (Da.array[za + 2] = rb.z),\r\n (za += 3);\r\n else if (4 === Da.size)\r\n for (ib = 0; ib < zc; ib++)\r\n (rb = Da.value[ib]),\r\n (Da.array[za] = rb.x),\r\n (Da.array[za + 1] = rb.y),\r\n (Da.array[za + 2] = rb.z),\r\n (Da.array[za + 3] = rb.w),\r\n (za += 4);\r\n j.bindBuffer(j.ARRAY_BUFFER, Da.buffer);\r\n j.bufferData(j.ARRAY_BUFFER, Da.array, Rc);\r\n }\r\n }\r\n }\r\n O.verticesNeedUpdate = !1;\r\n O.colorsNeedUpdate = !1;\r\n O.normalsNeedUpdate = !1;\r\n ia.attributes && v(ia);\r\n } else if (ta instanceof THREE.Line)\r\n if (O instanceof THREE.BufferGeometry)\r\n (O.verticesNeedUpdate || O.colorsNeedUpdate) &&\r\n i(O, j.DYNAMIC_DRAW, !O.dynamic),\r\n (O.verticesNeedUpdate = !1),\r\n (O.colorsNeedUpdate = !1);\r\n else {\r\n ia = e(ta, O);\r\n qa = ia.attributes && y(ia);\r\n if (\r\n O.verticesNeedUpdate ||\r\n O.colorsNeedUpdate ||\r\n O.lineDistancesNeedUpdate ||\r\n qa\r\n ) {\r\n var Hb = O,\r\n Zc = j.DYNAMIC_DRAW,\r\n Ic = void 0,\r\n Jc = void 0,\r\n Kc = void 0,\r\n $c = void 0,\r\n Ja = void 0,\r\n ad = void 0,\r\n Bd = Hb.vertices,\r\n Cd = Hb.colors,\r\n Dd = Hb.lineDistances,\r\n ld = Bd.length,\r\n Jd = Cd.length,\r\n Kd = Dd.length,\r\n bd = Hb.__vertexArray,\r\n cd = Hb.__colorArray,\r\n Ed = Hb.__lineDistanceArray,\r\n Ld = Hb.colorsNeedUpdate,\r\n Md = Hb.lineDistancesNeedUpdate,\r\n sd = Hb.__webglCustomAttributesList,\r\n dd = void 0,\r\n Fd = void 0,\r\n jb = void 0,\r\n Ac = void 0,\r\n sb = void 0,\r\n Ea = void 0;\r\n if (Hb.verticesNeedUpdate) {\r\n for (Ic = 0; Ic < ld; Ic++)\r\n ($c = Bd[Ic]),\r\n (Ja = 3 * Ic),\r\n (bd[Ja] = $c.x),\r\n (bd[Ja + 1] = $c.y),\r\n (bd[Ja + 2] = $c.z);\r\n j.bindBuffer(j.ARRAY_BUFFER, Hb.__webglVertexBuffer);\r\n j.bufferData(j.ARRAY_BUFFER, bd, Zc);\r\n }\r\n if (Ld) {\r\n for (Jc = 0; Jc < Jd; Jc++)\r\n (ad = Cd[Jc]),\r\n (Ja = 3 * Jc),\r\n (cd[Ja] = ad.r),\r\n (cd[Ja + 1] = ad.g),\r\n (cd[Ja + 2] = ad.b);\r\n j.bindBuffer(j.ARRAY_BUFFER, Hb.__webglColorBuffer);\r\n j.bufferData(j.ARRAY_BUFFER, cd, Zc);\r\n }\r\n if (Md) {\r\n for (Kc = 0; Kc < Kd; Kc++) Ed[Kc] = Dd[Kc];\r\n j.bindBuffer(j.ARRAY_BUFFER, Hb.__webglLineDistanceBuffer);\r\n j.bufferData(j.ARRAY_BUFFER, Ed, Zc);\r\n }\r\n if (sd) {\r\n dd = 0;\r\n for (Fd = sd.length; dd < Fd; dd++)\r\n if (\r\n ((Ea = sd[dd]),\r\n Ea.needsUpdate &&\r\n (void 0 === Ea.boundTo || \"vertices\" === Ea.boundTo))\r\n ) {\r\n Ja = 0;\r\n Ac = Ea.value.length;\r\n if (1 === Ea.size)\r\n for (jb = 0; jb < Ac; jb++) Ea.array[jb] = Ea.value[jb];\r\n else if (2 === Ea.size)\r\n for (jb = 0; jb < Ac; jb++)\r\n (sb = Ea.value[jb]),\r\n (Ea.array[Ja] = sb.x),\r\n (Ea.array[Ja + 1] = sb.y),\r\n (Ja += 2);\r\n else if (3 === Ea.size)\r\n if (\"c\" === Ea.type)\r\n for (jb = 0; jb < Ac; jb++)\r\n (sb = Ea.value[jb]),\r\n (Ea.array[Ja] = sb.r),\r\n (Ea.array[Ja + 1] = sb.g),\r\n (Ea.array[Ja + 2] = sb.b),\r\n (Ja += 3);\r\n else\r\n for (jb = 0; jb < Ac; jb++)\r\n (sb = Ea.value[jb]),\r\n (Ea.array[Ja] = sb.x),\r\n (Ea.array[Ja + 1] = sb.y),\r\n (Ea.array[Ja + 2] = sb.z),\r\n (Ja += 3);\r\n else if (4 === Ea.size)\r\n for (jb = 0; jb < Ac; jb++)\r\n (sb = Ea.value[jb]),\r\n (Ea.array[Ja] = sb.x),\r\n (Ea.array[Ja + 1] = sb.y),\r\n (Ea.array[Ja + 2] = sb.z),\r\n (Ea.array[Ja + 3] = sb.w),\r\n (Ja += 4);\r\n j.bindBuffer(j.ARRAY_BUFFER, Ea.buffer);\r\n j.bufferData(j.ARRAY_BUFFER, Ea.array, Zc);\r\n }\r\n }\r\n }\r\n O.verticesNeedUpdate = !1;\r\n O.colorsNeedUpdate = !1;\r\n O.lineDistancesNeedUpdate = !1;\r\n ia.attributes && v(ia);\r\n }\r\n else if (ta instanceof THREE.ParticleSystem)\r\n if (O instanceof THREE.BufferGeometry)\r\n (O.verticesNeedUpdate || O.colorsNeedUpdate) &&\r\n i(O, j.DYNAMIC_DRAW, !O.dynamic),\r\n (O.verticesNeedUpdate = !1),\r\n (O.colorsNeedUpdate = !1);\r\n else {\r\n ia = e(ta, O);\r\n qa = ia.attributes && y(ia);\r\n if (\r\n O.verticesNeedUpdate ||\r\n O.colorsNeedUpdate ||\r\n ta.sortParticles ||\r\n qa\r\n ) {\r\n var bc = O,\r\n td = j.DYNAMIC_DRAW,\r\n Lc = ta,\r\n tb = void 0,\r\n cc = void 0,\r\n dc = void 0,\r\n ga = void 0,\r\n ec = void 0,\r\n rc = void 0,\r\n ed = bc.vertices,\r\n ud = ed.length,\r\n vd = bc.colors,\r\n Gd = vd.length,\r\n wc = bc.__vertexArray,\r\n xc = bc.__colorArray,\r\n kc = bc.__sortArray,\r\n Hd = bc.verticesNeedUpdate,\r\n Id = bc.colorsNeedUpdate,\r\n lc = bc.__webglCustomAttributesList,\r\n Kb = void 0,\r\n Bc = void 0,\r\n ma = void 0,\r\n Lb = void 0,\r\n Ba = void 0,\r\n ea = void 0;\r\n if (Lc.sortParticles) {\r\n vb.copy(gc);\r\n vb.multiply(Lc.matrixWorld);\r\n for (tb = 0; tb < ud; tb++)\r\n (dc = ed[tb]),\r\n Qa.copy(dc),\r\n Qa.applyProjection(vb),\r\n (kc[tb] = [Qa.z, tb]);\r\n kc.sort(n);\r\n for (tb = 0; tb < ud; tb++)\r\n (dc = ed[kc[tb][1]]),\r\n (ga = 3 * tb),\r\n (wc[ga] = dc.x),\r\n (wc[ga + 1] = dc.y),\r\n (wc[ga + 2] = dc.z);\r\n for (cc = 0; cc < Gd; cc++)\r\n (ga = 3 * cc),\r\n (rc = vd[kc[cc][1]]),\r\n (xc[ga] = rc.r),\r\n (xc[ga + 1] = rc.g),\r\n (xc[ga + 2] = rc.b);\r\n if (lc) {\r\n Kb = 0;\r\n for (Bc = lc.length; Kb < Bc; Kb++)\r\n if (\r\n ((ea = lc[Kb]),\r\n void 0 === ea.boundTo || \"vertices\" === ea.boundTo)\r\n )\r\n if (((ga = 0), (Lb = ea.value.length), 1 === ea.size))\r\n for (ma = 0; ma < Lb; ma++)\r\n (ec = kc[ma][1]), (ea.array[ma] = ea.value[ec]);\r\n else if (2 === ea.size)\r\n for (ma = 0; ma < Lb; ma++)\r\n (ec = kc[ma][1]),\r\n (Ba = ea.value[ec]),\r\n (ea.array[ga] = Ba.x),\r\n (ea.array[ga + 1] = Ba.y),\r\n (ga += 2);\r\n else if (3 === ea.size)\r\n if (\"c\" === ea.type)\r\n for (ma = 0; ma < Lb; ma++)\r\n (ec = kc[ma][1]),\r\n (Ba = ea.value[ec]),\r\n (ea.array[ga] = Ba.r),\r\n (ea.array[ga + 1] = Ba.g),\r\n (ea.array[ga + 2] = Ba.b),\r\n (ga += 3);\r\n else\r\n for (ma = 0; ma < Lb; ma++)\r\n (ec = kc[ma][1]),\r\n (Ba = ea.value[ec]),\r\n (ea.array[ga] = Ba.x),\r\n (ea.array[ga + 1] = Ba.y),\r\n (ea.array[ga + 2] = Ba.z),\r\n (ga += 3);\r\n else if (4 === ea.size)\r\n for (ma = 0; ma < Lb; ma++)\r\n (ec = kc[ma][1]),\r\n (Ba = ea.value[ec]),\r\n (ea.array[ga] = Ba.x),\r\n (ea.array[ga + 1] = Ba.y),\r\n (ea.array[ga + 2] = Ba.z),\r\n (ea.array[ga + 3] = Ba.w),\r\n (ga += 4);\r\n }\r\n } else {\r\n if (Hd)\r\n for (tb = 0; tb < ud; tb++)\r\n (dc = ed[tb]),\r\n (ga = 3 * tb),\r\n (wc[ga] = dc.x),\r\n (wc[ga + 1] = dc.y),\r\n (wc[ga + 2] = dc.z);\r\n if (Id)\r\n for (cc = 0; cc < Gd; cc++)\r\n (rc = vd[cc]),\r\n (ga = 3 * cc),\r\n (xc[ga] = rc.r),\r\n (xc[ga + 1] = rc.g),\r\n (xc[ga + 2] = rc.b);\r\n if (lc) {\r\n Kb = 0;\r\n for (Bc = lc.length; Kb < Bc; Kb++)\r\n if (\r\n ((ea = lc[Kb]),\r\n ea.needsUpdate &&\r\n (void 0 === ea.boundTo || \"vertices\" === ea.boundTo))\r\n )\r\n if (((Lb = ea.value.length), (ga = 0), 1 === ea.size))\r\n for (ma = 0; ma < Lb; ma++) ea.array[ma] = ea.value[ma];\r\n else if (2 === ea.size)\r\n for (ma = 0; ma < Lb; ma++)\r\n (Ba = ea.value[ma]),\r\n (ea.array[ga] = Ba.x),\r\n (ea.array[ga + 1] = Ba.y),\r\n (ga += 2);\r\n else if (3 === ea.size)\r\n if (\"c\" === ea.type)\r\n for (ma = 0; ma < Lb; ma++)\r\n (Ba = ea.value[ma]),\r\n (ea.array[ga] = Ba.r),\r\n (ea.array[ga + 1] = Ba.g),\r\n (ea.array[ga + 2] = Ba.b),\r\n (ga += 3);\r\n else\r\n for (ma = 0; ma < Lb; ma++)\r\n (Ba = ea.value[ma]),\r\n (ea.array[ga] = Ba.x),\r\n (ea.array[ga + 1] = Ba.y),\r\n (ea.array[ga + 2] = Ba.z),\r\n (ga += 3);\r\n else if (4 === ea.size)\r\n for (ma = 0; ma < Lb; ma++)\r\n (Ba = ea.value[ma]),\r\n (ea.array[ga] = Ba.x),\r\n (ea.array[ga + 1] = Ba.y),\r\n (ea.array[ga + 2] = Ba.z),\r\n (ea.array[ga + 3] = Ba.w),\r\n (ga += 4);\r\n }\r\n }\r\n if (Hd || Lc.sortParticles)\r\n j.bindBuffer(j.ARRAY_BUFFER, bc.__webglVertexBuffer),\r\n j.bufferData(j.ARRAY_BUFFER, wc, td);\r\n if (Id || Lc.sortParticles)\r\n j.bindBuffer(j.ARRAY_BUFFER, bc.__webglColorBuffer),\r\n j.bufferData(j.ARRAY_BUFFER, xc, td);\r\n if (lc) {\r\n Kb = 0;\r\n for (Bc = lc.length; Kb < Bc; Kb++)\r\n if (((ea = lc[Kb]), ea.needsUpdate || Lc.sortParticles))\r\n j.bindBuffer(j.ARRAY_BUFFER, ea.buffer),\r\n j.bufferData(j.ARRAY_BUFFER, ea.array, td);\r\n }\r\n }\r\n O.verticesNeedUpdate = !1;\r\n O.colorsNeedUpdate = !1;\r\n ia.attributes && v(ia);\r\n }\r\n }\r\n };\r\n this.initMaterial = function(a, b, c, d) {\r\n var e, f, g, i;\r\n a.addEventListener(\"dispose\", X);\r\n var h, k, m, n, l;\r\n a instanceof THREE.MeshDepthMaterial\r\n ? (l = \"depth\")\r\n : a instanceof THREE.MeshNormalMaterial\r\n ? (l = \"normal\")\r\n : a instanceof THREE.MeshBasicMaterial\r\n ? (l = \"basic\")\r\n : a instanceof THREE.MeshLambertMaterial\r\n ? (l = \"lambert\")\r\n : a instanceof THREE.MeshPhongMaterial\r\n ? (l = \"phong\")\r\n : a instanceof THREE.LineBasicMaterial\r\n ? (l = \"basic\")\r\n : a instanceof THREE.LineDashedMaterial\r\n ? (l = \"dashed\")\r\n : a instanceof THREE.ParticleBasicMaterial && (l = \"particle_basic\");\r\n if (l) {\r\n var p = THREE.ShaderLib[l];\r\n a.uniforms = THREE.UniformsUtils.clone(p.uniforms);\r\n a.vertexShader = p.vertexShader;\r\n a.fragmentShader = p.fragmentShader;\r\n }\r\n var q, s, r;\r\n e = g = s = r = p = 0;\r\n for (f = b.length; e < f; e++)\r\n (q = b[e]),\r\n q.onlyShadow ||\r\n (q instanceof THREE.DirectionalLight && g++,\r\n q instanceof THREE.PointLight && s++,\r\n q instanceof THREE.SpotLight && r++,\r\n q instanceof THREE.HemisphereLight && p++);\r\n e = g;\r\n f = s;\r\n g = r;\r\n i = p;\r\n p = q = 0;\r\n for (r = b.length; p < r; p++)\r\n (s = b[p]),\r\n s.castShadow &&\r\n (s instanceof THREE.SpotLight && q++,\r\n s instanceof THREE.DirectionalLight && !s.shadowCascade && q++);\r\n n = q;\r\n tc && d && d.useVertexTexture\r\n ? (m = 1024)\r\n : ((b = j.getParameter(j.MAX_VERTEX_UNIFORM_VECTORS)),\r\n (b = Math.floor((b - 20) / 4)),\r\n void 0 !== d &&\r\n d instanceof THREE.SkinnedMesh &&\r\n ((b = Math.min(d.bones.length, b)),\r\n b < d.bones.length &&\r\n console.warn(\r\n \"WebGLRenderer: too many bones - \" +\r\n d.bones.length +\r\n \", this GPU supports just \" +\r\n b +\r\n \" (try OpenGL instead of ANGLE)\"\r\n )),\r\n (m = b));\r\n a: {\r\n s = a.fragmentShader;\r\n r = a.vertexShader;\r\n p = a.uniforms;\r\n b = a.attributes;\r\n q = a.defines;\r\n var c = {\r\n map: !!a.map,\r\n envMap: !!a.envMap,\r\n lightMap: !!a.lightMap,\r\n bumpMap: !!a.bumpMap,\r\n normalMap: !!a.normalMap,\r\n specularMap: !!a.specularMap,\r\n vertexColors: a.vertexColors,\r\n fog: c,\r\n useFog: a.fog,\r\n fogExp: c instanceof THREE.FogExp2,\r\n sizeAttenuation: a.sizeAttenuation,\r\n skinning: a.skinning,\r\n maxBones: m,\r\n useVertexTexture: tc && d && d.useVertexTexture,\r\n boneTextureWidth: d && d.boneTextureWidth,\r\n boneTextureHeight: d && d.boneTextureHeight,\r\n morphTargets: a.morphTargets,\r\n morphNormals: a.morphNormals,\r\n maxMorphTargets: this.maxMorphTargets,\r\n maxMorphNormals: this.maxMorphNormals,\r\n maxDirLights: e,\r\n maxPointLights: f,\r\n maxSpotLights: g,\r\n maxHemiLights: i,\r\n maxShadows: n,\r\n shadowMapEnabled: this.shadowMapEnabled && d.receiveShadow,\r\n shadowMapType: this.shadowMapType,\r\n shadowMapDebug: this.shadowMapDebug,\r\n shadowMapCascade: this.shadowMapCascade,\r\n alphaTest: a.alphaTest,\r\n metal: a.metal,\r\n perPixel: a.perPixel,\r\n wrapAround: a.wrapAround,\r\n doubleSided: a.side === THREE.DoubleSide,\r\n flipSided: a.side === THREE.BackSide\r\n },\r\n t,\r\n v,\r\n y,\r\n d = [];\r\n l ? d.push(l) : (d.push(s), d.push(r));\r\n for (v in q) d.push(v), d.push(q[v]);\r\n for (t in c) d.push(t), d.push(c[t]);\r\n l = d.join();\r\n t = 0;\r\n for (v = Ma.length; t < v; t++)\r\n if (((d = Ma[t]), d.code === l)) {\r\n d.usedTimes++;\r\n k = d.program;\r\n break a;\r\n }\r\n t = \"SHADOWMAP_TYPE_BASIC\";\r\n c.shadowMapType === THREE.PCFShadowMap\r\n ? (t = \"SHADOWMAP_TYPE_PCF\")\r\n : c.shadowMapType === THREE.PCFSoftShadowMap &&\r\n (t = \"SHADOWMAP_TYPE_PCF_SOFT\");\r\n v = [];\r\n for (y in q)\r\n (d = q[y]), !1 !== d && ((d = \"#define \" + y + \" \" + d), v.push(d));\r\n d = v.join(\"\\n\");\r\n y = j.createProgram();\r\n v = [\r\n \"precision \" + fa + \" float;\",\r\n d,\r\n sc ? \"#define VERTEX_TEXTURES\" : \"\",\r\n N.gammaInput ? \"#define GAMMA_INPUT\" : \"\",\r\n N.gammaOutput ? \"#define GAMMA_OUTPUT\" : \"\",\r\n N.physicallyBasedShading ? \"#define PHYSICALLY_BASED_SHADING\" : \"\",\r\n \"#define MAX_DIR_LIGHTS \" + c.maxDirLights,\r\n \"#define MAX_POINT_LIGHTS \" + c.maxPointLights,\r\n \"#define MAX_SPOT_LIGHTS \" + c.maxSpotLights,\r\n \"#define MAX_HEMI_LIGHTS \" + c.maxHemiLights,\r\n \"#define MAX_SHADOWS \" + c.maxShadows,\r\n \"#define MAX_BONES \" + c.maxBones,\r\n c.map ? \"#define USE_MAP\" : \"\",\r\n c.envMap ? \"#define USE_ENVMAP\" : \"\",\r\n c.lightMap ? \"#define USE_LIGHTMAP\" : \"\",\r\n c.bumpMap ? \"#define USE_BUMPMAP\" : \"\",\r\n c.normalMap ? \"#define USE_NORMALMAP\" : \"\",\r\n c.specularMap ? \"#define USE_SPECULARMAP\" : \"\",\r\n c.vertexColors ? \"#define USE_COLOR\" : \"\",\r\n c.skinning ? \"#define USE_SKINNING\" : \"\",\r\n c.useVertexTexture ? \"#define BONE_TEXTURE\" : \"\",\r\n c.boneTextureWidth\r\n ? \"#define N_BONE_PIXEL_X \" + c.boneTextureWidth.toFixed(1)\r\n : \"\",\r\n c.boneTextureHeight\r\n ? \"#define N_BONE_PIXEL_Y \" + c.boneTextureHeight.toFixed(1)\r\n : \"\",\r\n c.morphTargets ? \"#define USE_MORPHTARGETS\" : \"\",\r\n c.morphNormals ? \"#define USE_MORPHNORMALS\" : \"\",\r\n c.perPixel ? \"#define PHONG_PER_PIXEL\" : \"\",\r\n c.wrapAround ? \"#define WRAP_AROUND\" : \"\",\r\n c.doubleSided ? \"#define DOUBLE_SIDED\" : \"\",\r\n c.flipSided ? \"#define FLIP_SIDED\" : \"\",\r\n c.shadowMapEnabled ? \"#define USE_SHADOWMAP\" : \"\",\r\n c.shadowMapEnabled ? \"#define \" + t : \"\",\r\n c.shadowMapDebug ? \"#define SHADOWMAP_DEBUG\" : \"\",\r\n c.shadowMapCascade ? \"#define SHADOWMAP_CASCADE\" : \"\",\r\n c.sizeAttenuation ? \"#define USE_SIZEATTENUATION\" : \"\",\r\n \"uniform mat4 modelMatrix;\\nuniform mat4 modelViewMatrix;\\nuniform mat4 projectionMatrix;\\nuniform mat4 viewMatrix;\\nuniform mat3 normalMatrix;\\nuniform vec3 cameraPosition;\\nattribute vec3 position;\\nattribute vec3 normal;\\nattribute vec2 uv;\\nattribute vec2 uv2;\\n#ifdef USE_COLOR\\nattribute vec3 color;\\n#endif\\n#ifdef USE_MORPHTARGETS\\nattribute vec3 morphTarget0;\\nattribute vec3 morphTarget1;\\nattribute vec3 morphTarget2;\\nattribute vec3 morphTarget3;\\n#ifdef USE_MORPHNORMALS\\nattribute vec3 morphNormal0;\\nattribute vec3 morphNormal1;\\nattribute vec3 morphNormal2;\\nattribute vec3 morphNormal3;\\n#else\\nattribute vec3 morphTarget4;\\nattribute vec3 morphTarget5;\\nattribute vec3 morphTarget6;\\nattribute vec3 morphTarget7;\\n#endif\\n#endif\\n#ifdef USE_SKINNING\\nattribute vec4 skinIndex;\\nattribute vec4 skinWeight;\\n#endif\\n\"\r\n ].join(\"\\n\");\r\n t = [\r\n \"precision \" + fa + \" float;\",\r\n c.bumpMap || c.normalMap\r\n ? \"#extension GL_OES_standard_derivatives : enable\"\r\n : \"\",\r\n d,\r\n \"#define MAX_DIR_LIGHTS \" + c.maxDirLights,\r\n \"#define MAX_POINT_LIGHTS \" + c.maxPointLights,\r\n \"#define MAX_SPOT_LIGHTS \" + c.maxSpotLights,\r\n \"#define MAX_HEMI_LIGHTS \" + c.maxHemiLights,\r\n \"#define MAX_SHADOWS \" + c.maxShadows,\r\n c.alphaTest ? \"#define ALPHATEST \" + c.alphaTest : \"\",\r\n N.gammaInput ? \"#define GAMMA_INPUT\" : \"\",\r\n N.gammaOutput ? \"#define GAMMA_OUTPUT\" : \"\",\r\n N.physicallyBasedShading ? \"#define PHYSICALLY_BASED_SHADING\" : \"\",\r\n c.useFog && c.fog ? \"#define USE_FOG\" : \"\",\r\n c.useFog && c.fogExp ? \"#define FOG_EXP2\" : \"\",\r\n c.map ? \"#define USE_MAP\" : \"\",\r\n c.envMap ? \"#define USE_ENVMAP\" : \"\",\r\n c.lightMap ? \"#define USE_LIGHTMAP\" : \"\",\r\n c.bumpMap ? \"#define USE_BUMPMAP\" : \"\",\r\n c.normalMap ? \"#define USE_NORMALMAP\" : \"\",\r\n c.specularMap ? \"#define USE_SPECULARMAP\" : \"\",\r\n c.vertexColors ? \"#define USE_COLOR\" : \"\",\r\n c.metal ? \"#define METAL\" : \"\",\r\n c.perPixel ? \"#define PHONG_PER_PIXEL\" : \"\",\r\n c.wrapAround ? \"#define WRAP_AROUND\" : \"\",\r\n c.doubleSided ? \"#define DOUBLE_SIDED\" : \"\",\r\n c.flipSided ? \"#define FLIP_SIDED\" : \"\",\r\n c.shadowMapEnabled ? \"#define USE_SHADOWMAP\" : \"\",\r\n c.shadowMapEnabled ? \"#define \" + t : \"\",\r\n c.shadowMapDebug ? \"#define SHADOWMAP_DEBUG\" : \"\",\r\n c.shadowMapCascade ? \"#define SHADOWMAP_CASCADE\" : \"\",\r\n \"uniform mat4 viewMatrix;\\nuniform vec3 cameraPosition;\\n\"\r\n ].join(\"\\n\");\r\n t = B(\"fragment\", t + s);\r\n v = B(\"vertex\", v + r);\r\n j.attachShader(y, v);\r\n j.attachShader(y, t);\r\n j.linkProgram(y);\r\n j.getProgramParameter(y, j.LINK_STATUS) ||\r\n console.error(\r\n \"Could not initialise shader\\nVALIDATE_STATUS: \" +\r\n j.getProgramParameter(y, j.VALIDATE_STATUS) +\r\n \", gl error [\" +\r\n j.getError() +\r\n \"]\"\r\n );\r\n j.deleteShader(t);\r\n j.deleteShader(v);\r\n y.uniforms = {};\r\n y.attributes = {};\r\n var x;\r\n t = \"viewMatrix modelViewMatrix projectionMatrix normalMatrix modelMatrix cameraPosition morphTargetInfluences\".split(\r\n \" \"\r\n );\r\n c.useVertexTexture ? t.push(\"boneTexture\") : t.push(\"boneGlobalMatrices\");\r\n for (x in p) t.push(x);\r\n x = t;\r\n t = 0;\r\n for (v = x.length; t < v; t++)\r\n (p = x[t]), (y.uniforms[p] = j.getUniformLocation(y, p));\r\n t = \"position normal uv uv2 tangent color skinIndex skinWeight lineDistance\".split(\r\n \" \"\r\n );\r\n for (x = 0; x < c.maxMorphTargets; x++) t.push(\"morphTarget\" + x);\r\n for (x = 0; x < c.maxMorphNormals; x++) t.push(\"morphNormal\" + x);\r\n for (k in b) t.push(k);\r\n k = t;\r\n x = 0;\r\n for (b = k.length; x < b; x++)\r\n (t = k[x]), (y.attributes[t] = j.getAttribLocation(y, t));\r\n y.id = Na++;\r\n Ma.push({ program: y, code: l, usedTimes: 1 });\r\n N.info.memory.programs = Ma.length;\r\n k = y;\r\n }\r\n a.program = k;\r\n x = a.program.attributes;\r\n if (a.morphTargets) {\r\n a.numSupportedMorphTargets = 0;\r\n b = \"morphTarget\";\r\n for (k = 0; k < this.maxMorphTargets; k++)\r\n (y = b + k), 0 <= x[y] && a.numSupportedMorphTargets++;\r\n }\r\n if (a.morphNormals) {\r\n a.numSupportedMorphNormals = 0;\r\n b = \"morphNormal\";\r\n for (k = 0; k < this.maxMorphNormals; k++)\r\n (y = b + k), 0 <= x[y] && a.numSupportedMorphNormals++;\r\n }\r\n a.uniformsList = [];\r\n for (h in a.uniforms) a.uniformsList.push([a.uniforms[h], h]);\r\n };\r\n this.setFaceCulling = function(a, b) {\r\n a === THREE.CullFaceNone\r\n ? j.disable(j.CULL_FACE)\r\n : (b === THREE.FrontFaceDirectionCW\r\n ? j.frontFace(j.CW)\r\n : j.frontFace(j.CCW),\r\n a === THREE.CullFaceBack\r\n ? j.cullFace(j.BACK)\r\n : a === THREE.CullFaceFront\r\n ? j.cullFace(j.FRONT)\r\n : j.cullFace(j.FRONT_AND_BACK),\r\n j.enable(j.CULL_FACE));\r\n };\r\n this.setMaterialFaces = function(a) {\r\n var b = a.side === THREE.DoubleSide,\r\n a = a.side === THREE.BackSide;\r\n da !== b && (b ? j.disable(j.CULL_FACE) : j.enable(j.CULL_FACE), (da = b));\r\n la !== a && (a ? j.frontFace(j.CW) : j.frontFace(j.CCW), (la = a));\r\n };\r\n this.setDepthTest = function(a) {\r\n ia !== a &&\r\n (a ? j.enable(j.DEPTH_TEST) : j.disable(j.DEPTH_TEST), (ia = a));\r\n };\r\n this.setDepthWrite = function(a) {\r\n Wa !== a && (j.depthMask(a), (Wa = a));\r\n };\r\n this.setBlending = function(a, b, c, d) {\r\n a !== Z &&\r\n (a === THREE.NoBlending\r\n ? j.disable(j.BLEND)\r\n : a === THREE.AdditiveBlending\r\n ? (j.enable(j.BLEND),\r\n j.blendEquation(j.FUNC_ADD),\r\n j.blendFunc(j.SRC_ALPHA, j.ONE))\r\n : a === THREE.SubtractiveBlending\r\n ? (j.enable(j.BLEND),\r\n j.blendEquation(j.FUNC_ADD),\r\n j.blendFunc(j.ZERO, j.ONE_MINUS_SRC_COLOR))\r\n : a === THREE.MultiplyBlending\r\n ? (j.enable(j.BLEND),\r\n j.blendEquation(j.FUNC_ADD),\r\n j.blendFunc(j.ZERO, j.SRC_COLOR))\r\n : a === THREE.CustomBlending\r\n ? j.enable(j.BLEND)\r\n : (j.enable(j.BLEND),\r\n j.blendEquationSeparate(j.FUNC_ADD, j.FUNC_ADD),\r\n j.blendFuncSeparate(\r\n j.SRC_ALPHA,\r\n j.ONE_MINUS_SRC_ALPHA,\r\n j.ONE,\r\n j.ONE_MINUS_SRC_ALPHA\r\n )),\r\n (Z = a));\r\n if (a === THREE.CustomBlending) {\r\n if ((b !== oa && (j.blendEquation(L(b)), (oa = b)), c !== gb || d !== nb))\r\n j.blendFunc(L(c), L(d)), (gb = c), (nb = d);\r\n } else nb = gb = oa = null;\r\n };\r\n this.setTexture = function(a, b) {\r\n if (a.needsUpdate) {\r\n a.__webglInit ||\r\n ((a.__webglInit = !0),\r\n a.addEventListener(\"dispose\", Oc),\r\n (a.__webglTexture = j.createTexture()),\r\n N.info.memory.textures++);\r\n j.activeTexture(j.TEXTURE0 + b);\r\n j.bindTexture(j.TEXTURE_2D, a.__webglTexture);\r\n j.pixelStorei(j.UNPACK_FLIP_Y_WEBGL, a.flipY);\r\n j.pixelStorei(j.UNPACK_PREMULTIPLY_ALPHA_WEBGL, a.premultiplyAlpha);\r\n j.pixelStorei(j.UNPACK_ALIGNMENT, a.unpackAlignment);\r\n var c = a.image,\r\n d =\r\n 0 === (c.width & (c.width - 1)) && 0 === (c.height & (c.height - 1)),\r\n e = L(a.format),\r\n f = L(a.type);\r\n W(j.TEXTURE_2D, a, d);\r\n var g = a.mipmaps;\r\n if (a instanceof THREE.DataTexture)\r\n if (0 < g.length && d) {\r\n for (var i = 0, h = g.length; i < h; i++)\r\n (c = g[i]),\r\n j.texImage2D(\r\n j.TEXTURE_2D,\r\n i,\r\n e,\r\n c.width,\r\n c.height,\r\n 0,\r\n e,\r\n f,\r\n c.data\r\n );\r\n a.generateMipmaps = !1;\r\n } else\r\n j.texImage2D(j.TEXTURE_2D, 0, e, c.width, c.height, 0, e, f, c.data);\r\n else if (a instanceof THREE.CompressedTexture) {\r\n i = 0;\r\n for (h = g.length; i < h; i++)\r\n (c = g[i]),\r\n j.compressedTexImage2D(\r\n j.TEXTURE_2D,\r\n i,\r\n e,\r\n c.width,\r\n c.height,\r\n 0,\r\n c.data\r\n );\r\n } else if (0 < g.length && d) {\r\n i = 0;\r\n for (h = g.length; i < h; i++)\r\n (c = g[i]), j.texImage2D(j.TEXTURE_2D, i, e, e, f, c);\r\n a.generateMipmaps = !1;\r\n } else j.texImage2D(j.TEXTURE_2D, 0, e, e, f, a.image);\r\n a.generateMipmaps && d && j.generateMipmap(j.TEXTURE_2D);\r\n a.needsUpdate = !1;\r\n if (a.onUpdate) a.onUpdate();\r\n } else\r\n j.activeTexture(j.TEXTURE0 + b),\r\n j.bindTexture(j.TEXTURE_2D, a.__webglTexture);\r\n };\r\n this.setRenderTarget = function(a) {\r\n var b = a instanceof THREE.WebGLRenderTargetCube;\r\n if (a && !a.__webglFramebuffer) {\r\n void 0 === a.depthBuffer && (a.depthBuffer = !0);\r\n void 0 === a.stencilBuffer && (a.stencilBuffer = !0);\r\n a.addEventListener(\"dispose\", P);\r\n a.__webglTexture = j.createTexture();\r\n N.info.memory.textures++;\r\n var c =\r\n 0 === (a.width & (a.width - 1)) && 0 === (a.height & (a.height - 1)),\r\n d = L(a.format),\r\n e = L(a.type);\r\n if (b) {\r\n a.__webglFramebuffer = [];\r\n a.__webglRenderbuffer = [];\r\n j.bindTexture(j.TEXTURE_CUBE_MAP, a.__webglTexture);\r\n W(j.TEXTURE_CUBE_MAP, a, c);\r\n for (var f = 0; 6 > f; f++) {\r\n a.__webglFramebuffer[f] = j.createFramebuffer();\r\n a.__webglRenderbuffer[f] = j.createRenderbuffer();\r\n j.texImage2D(\r\n j.TEXTURE_CUBE_MAP_POSITIVE_X + f,\r\n 0,\r\n d,\r\n a.width,\r\n a.height,\r\n 0,\r\n d,\r\n e,\r\n null\r\n );\r\n var g = a,\r\n i = j.TEXTURE_CUBE_MAP_POSITIVE_X + f;\r\n j.bindFramebuffer(j.FRAMEBUFFER, a.__webglFramebuffer[f]);\r\n j.framebufferTexture2D(\r\n j.FRAMEBUFFER,\r\n j.COLOR_ATTACHMENT0,\r\n i,\r\n g.__webglTexture,\r\n 0\r\n );\r\n F(a.__webglRenderbuffer[f], a);\r\n }\r\n c && j.generateMipmap(j.TEXTURE_CUBE_MAP);\r\n } else\r\n (a.__webglFramebuffer = j.createFramebuffer()),\r\n (a.__webglRenderbuffer = a.shareDepthFrom\r\n ? a.shareDepthFrom.__webglRenderbuffer\r\n : j.createRenderbuffer()),\r\n j.bindTexture(j.TEXTURE_2D, a.__webglTexture),\r\n W(j.TEXTURE_2D, a, c),\r\n j.texImage2D(j.TEXTURE_2D, 0, d, a.width, a.height, 0, d, e, null),\r\n (d = j.TEXTURE_2D),\r\n j.bindFramebuffer(j.FRAMEBUFFER, a.__webglFramebuffer),\r\n j.framebufferTexture2D(\r\n j.FRAMEBUFFER,\r\n j.COLOR_ATTACHMENT0,\r\n d,\r\n a.__webglTexture,\r\n 0\r\n ),\r\n a.shareDepthFrom\r\n ? a.depthBuffer && !a.stencilBuffer\r\n ? j.framebufferRenderbuffer(\r\n j.FRAMEBUFFER,\r\n j.DEPTH_ATTACHMENT,\r\n j.RENDERBUFFER,\r\n a.__webglRenderbuffer\r\n )\r\n : a.depthBuffer &&\r\n a.stencilBuffer &&\r\n j.framebufferRenderbuffer(\r\n j.FRAMEBUFFER,\r\n j.DEPTH_STENCIL_ATTACHMENT,\r\n j.RENDERBUFFER,\r\n a.__webglRenderbuffer\r\n )\r\n : F(a.__webglRenderbuffer, a),\r\n c && j.generateMipmap(j.TEXTURE_2D);\r\n b\r\n ? j.bindTexture(j.TEXTURE_CUBE_MAP, null)\r\n : j.bindTexture(j.TEXTURE_2D, null);\r\n j.bindRenderbuffer(j.RENDERBUFFER, null);\r\n j.bindFramebuffer(j.FRAMEBUFFER, null);\r\n }\r\n a\r\n ? ((b = b\r\n ? a.__webglFramebuffer[a.activeCubeFace]\r\n : a.__webglFramebuffer),\r\n (c = a.width),\r\n (a = a.height),\r\n (e = d = 0))\r\n : ((b = null), (c = fc), (a = Ab), (d = Ib), (e = Jb));\r\n b !== Pa &&\r\n (j.bindFramebuffer(j.FRAMEBUFFER, b), j.viewport(d, e, c, a), (Pa = b));\r\n mc = c;\r\n pb = a;\r\n };\r\n this.shadowMapPlugin = new THREE.ShadowMapPlugin();\r\n this.addPrePlugin(this.shadowMapPlugin);\r\n this.addPostPlugin(new THREE.SpritePlugin());\r\n this.addPostPlugin(new THREE.LensFlarePlugin());\r\n};\r\nTHREE.WebGLRenderTarget = function(a, b, c) {\r\n THREE.EventDispatcher.call(this);\r\n this.width = a;\r\n this.height = b;\r\n c = c || {};\r\n this.wrapS = void 0 !== c.wrapS ? c.wrapS : THREE.ClampToEdgeWrapping;\r\n this.wrapT = void 0 !== c.wrapT ? c.wrapT : THREE.ClampToEdgeWrapping;\r\n this.magFilter = void 0 !== c.magFilter ? c.magFilter : THREE.LinearFilter;\r\n this.minFilter =\r\n void 0 !== c.minFilter ? c.minFilter : THREE.LinearMipMapLinearFilter;\r\n this.anisotropy = void 0 !== c.anisotropy ? c.anisotropy : 1;\r\n this.offset = new THREE.Vector2(0, 0);\r\n this.repeat = new THREE.Vector2(1, 1);\r\n this.format = void 0 !== c.format ? c.format : THREE.RGBAFormat;\r\n this.type = void 0 !== c.type ? c.type : THREE.UnsignedByteType;\r\n this.depthBuffer = void 0 !== c.depthBuffer ? c.depthBuffer : !0;\r\n this.stencilBuffer = void 0 !== c.stencilBuffer ? c.stencilBuffer : !0;\r\n this.generateMipmaps = !0;\r\n this.shareDepthFrom = null;\r\n};\r\nTHREE.WebGLRenderTarget.prototype.clone = function() {\r\n var a = new THREE.WebGLRenderTarget(this.width, this.height);\r\n a.wrapS = this.wrapS;\r\n a.wrapT = this.wrapT;\r\n a.magFilter = this.magFilter;\r\n a.minFilter = this.minFilter;\r\n a.anisotropy = this.anisotropy;\r\n a.offset.copy(this.offset);\r\n a.repeat.copy(this.repeat);\r\n a.format = this.format;\r\n a.type = this.type;\r\n a.depthBuffer = this.depthBuffer;\r\n a.stencilBuffer = this.stencilBuffer;\r\n a.generateMipmaps = this.generateMipmaps;\r\n a.shareDepthFrom = this.shareDepthFrom;\r\n return a;\r\n};\r\nTHREE.WebGLRenderTarget.prototype.dispose = function() {\r\n this.dispatchEvent({ type: \"dispose\" });\r\n};\r\nTHREE.WebGLRenderTargetCube = function(a, b, c) {\r\n THREE.WebGLRenderTarget.call(this, a, b, c);\r\n this.activeCubeFace = 0;\r\n};\r\nTHREE.WebGLRenderTargetCube.prototype = Object.create(\r\n THREE.WebGLRenderTarget.prototype\r\n);\r\nTHREE.RenderableVertex = function() {\r\n this.positionWorld = new THREE.Vector3();\r\n this.positionScreen = new THREE.Vector4();\r\n this.visible = !0;\r\n};\r\nTHREE.RenderableVertex.prototype.copy = function(a) {\r\n this.positionWorld.copy(a.positionWorld);\r\n this.positionScreen.copy(a.positionScreen);\r\n};\r\nTHREE.RenderableFace3 = function() {\r\n this.v1 = new THREE.RenderableVertex();\r\n this.v2 = new THREE.RenderableVertex();\r\n this.v3 = new THREE.RenderableVertex();\r\n this.centroidModel = new THREE.Vector3();\r\n this.normalModel = new THREE.Vector3();\r\n this.normalModelView = new THREE.Vector3();\r\n this.vertexNormalsLength = 0;\r\n this.vertexNormalsModel = [\r\n new THREE.Vector3(),\r\n new THREE.Vector3(),\r\n new THREE.Vector3()\r\n ];\r\n this.vertexNormalsModelView = [\r\n new THREE.Vector3(),\r\n new THREE.Vector3(),\r\n new THREE.Vector3()\r\n ];\r\n this.material = this.color = null;\r\n this.uvs = [[]];\r\n this.z = null;\r\n};\r\nTHREE.RenderableFace4 = function() {\r\n this.v1 = new THREE.RenderableVertex();\r\n this.v2 = new THREE.RenderableVertex();\r\n this.v3 = new THREE.RenderableVertex();\r\n this.v4 = new THREE.RenderableVertex();\r\n this.centroidModel = new THREE.Vector3();\r\n this.normalModel = new THREE.Vector3();\r\n this.normalModelView = new THREE.Vector3();\r\n this.vertexNormalsLength = 0;\r\n this.vertexNormalsModel = [\r\n new THREE.Vector3(),\r\n new THREE.Vector3(),\r\n new THREE.Vector3(),\r\n new THREE.Vector3()\r\n ];\r\n this.vertexNormalsModelView = [\r\n new THREE.Vector3(),\r\n new THREE.Vector3(),\r\n new THREE.Vector3(),\r\n new THREE.Vector3()\r\n ];\r\n this.material = this.color = null;\r\n this.uvs = [[]];\r\n this.z = null;\r\n};\r\nTHREE.RenderableObject = function() {\r\n this.z = this.object = null;\r\n};\r\nTHREE.RenderableParticle = function() {\r\n this.rotation = this.z = this.y = this.x = this.object = null;\r\n this.scale = new THREE.Vector2();\r\n this.material = null;\r\n};\r\nTHREE.RenderableLine = function() {\r\n this.z = null;\r\n this.v1 = new THREE.RenderableVertex();\r\n this.v2 = new THREE.RenderableVertex();\r\n this.material = null;\r\n};\r\nTHREE.GeometryUtils = {\r\n merge: function(a, b) {\r\n var c,\r\n d,\r\n e = a.vertices.length,\r\n f = b instanceof THREE.Mesh ? b.geometry : b,\r\n g = a.vertices,\r\n h = f.vertices,\r\n i = a.faces,\r\n k = f.faces,\r\n l = a.faceVertexUvs[0],\r\n f = f.faceVertexUvs[0];\r\n b instanceof THREE.Mesh &&\r\n (b.matrixAutoUpdate && b.updateMatrix(),\r\n (c = b.matrix),\r\n (d = new THREE.Matrix3()),\r\n d.getInverse(c),\r\n d.transpose());\r\n for (var m = 0, n = h.length; m < n; m++) {\r\n var s = h[m].clone();\r\n c && s.applyMatrix4(c);\r\n g.push(s);\r\n }\r\n m = 0;\r\n for (n = k.length; m < n; m++) {\r\n var s = k[m],\r\n r,\r\n p,\r\n q = s.vertexNormals,\r\n y = s.vertexColors;\r\n s instanceof THREE.Face3\r\n ? (r = new THREE.Face3(s.a + e, s.b + e, s.c + e))\r\n : s instanceof THREE.Face4 &&\r\n (r = new THREE.Face4(s.a + e, s.b + e, s.c + e, s.d + e));\r\n r.normal.copy(s.normal);\r\n d && r.normal.applyMatrix3(d).normalize();\r\n g = 0;\r\n for (h = q.length; g < h; g++)\r\n (p = q[g].clone()),\r\n d && p.applyMatrix3(d).normalize(),\r\n r.vertexNormals.push(p);\r\n r.color.copy(s.color);\r\n g = 0;\r\n for (h = y.length; g < h; g++) (p = y[g]), r.vertexColors.push(p.clone());\r\n r.materialIndex = s.materialIndex;\r\n r.centroid.copy(s.centroid);\r\n c && r.centroid.applyMatrix4(c);\r\n i.push(r);\r\n }\r\n m = 0;\r\n for (n = f.length; m < n; m++) {\r\n c = f[m];\r\n d = [];\r\n g = 0;\r\n for (h = c.length; g < h; g++) d.push(new THREE.Vector2(c[g].x, c[g].y));\r\n l.push(d);\r\n }\r\n },\r\n removeMaterials: function(a, b) {\r\n for (var c = {}, d = 0, e = b.length; d < e; d++) c[b[d]] = !0;\r\n for (var f, g = [], d = 0, e = a.faces.length; d < e; d++)\r\n (f = a.faces[d]), f.materialIndex in c || g.push(f);\r\n a.faces = g;\r\n },\r\n randomPointInTriangle: function(a, b, c) {\r\n var d,\r\n e,\r\n f,\r\n g = new THREE.Vector3(),\r\n h = THREE.GeometryUtils.__v1;\r\n d = THREE.GeometryUtils.random();\r\n e = THREE.GeometryUtils.random();\r\n 1 < d + e && ((d = 1 - d), (e = 1 - e));\r\n f = 1 - d - e;\r\n g.copy(a);\r\n g.multiplyScalar(d);\r\n h.copy(b);\r\n h.multiplyScalar(e);\r\n g.add(h);\r\n h.copy(c);\r\n h.multiplyScalar(f);\r\n g.add(h);\r\n return g;\r\n },\r\n randomPointInFace: function(a, b, c) {\r\n var d, e, f;\r\n if (a instanceof THREE.Face3)\r\n return (\r\n (d = b.vertices[a.a]),\r\n (e = b.vertices[a.b]),\r\n (f = b.vertices[a.c]),\r\n THREE.GeometryUtils.randomPointInTriangle(d, e, f)\r\n );\r\n if (a instanceof THREE.Face4) {\r\n d = b.vertices[a.a];\r\n e = b.vertices[a.b];\r\n f = b.vertices[a.c];\r\n var b = b.vertices[a.d],\r\n g;\r\n c\r\n ? a._area1 && a._area2\r\n ? ((c = a._area1), (g = a._area2))\r\n : ((c = THREE.GeometryUtils.triangleArea(d, e, b)),\r\n (g = THREE.GeometryUtils.triangleArea(e, f, b)),\r\n (a._area1 = c),\r\n (a._area2 = g))\r\n : ((c = THREE.GeometryUtils.triangleArea(d, e, b)),\r\n (g = THREE.GeometryUtils.triangleArea(e, f, b)));\r\n return THREE.GeometryUtils.random() * (c + g) < c\r\n ? THREE.GeometryUtils.randomPointInTriangle(d, e, b)\r\n : THREE.GeometryUtils.randomPointInTriangle(e, f, b);\r\n }\r\n },\r\n randomPointsInGeometry: function(a, b) {\r\n function c(a) {\r\n function b(c, d) {\r\n if (d < c) return c;\r\n var e = c + Math.floor((d - c) / 2);\r\n return k[e] > a ? b(c, e - 1) : k[e] < a ? b(e + 1, d) : e;\r\n }\r\n return b(0, k.length - 1);\r\n }\r\n var d,\r\n e,\r\n f = a.faces,\r\n g = a.vertices,\r\n h = f.length,\r\n i = 0,\r\n k = [],\r\n l,\r\n m,\r\n n,\r\n s;\r\n for (e = 0; e < h; e++)\r\n (d = f[e]),\r\n d instanceof THREE.Face3\r\n ? ((l = g[d.a]),\r\n (m = g[d.b]),\r\n (n = g[d.c]),\r\n (d._area = THREE.GeometryUtils.triangleArea(l, m, n)))\r\n : d instanceof THREE.Face4 &&\r\n ((l = g[d.a]),\r\n (m = g[d.b]),\r\n (n = g[d.c]),\r\n (s = g[d.d]),\r\n (d._area1 = THREE.GeometryUtils.triangleArea(l, m, s)),\r\n (d._area2 = THREE.GeometryUtils.triangleArea(m, n, s)),\r\n (d._area = d._area1 + d._area2)),\r\n (i += d._area),\r\n (k[e] = i);\r\n d = [];\r\n for (e = 0; e < b; e++)\r\n (g = THREE.GeometryUtils.random() * i),\r\n (g = c(g)),\r\n (d[e] = THREE.GeometryUtils.randomPointInFace(f[g], a, !0));\r\n return d;\r\n },\r\n triangleArea: function(a, b, c) {\r\n var d = THREE.GeometryUtils.__v1,\r\n e = THREE.GeometryUtils.__v2;\r\n d.subVectors(b, a);\r\n e.subVectors(c, a);\r\n d.cross(e);\r\n return 0.5 * d.length();\r\n },\r\n center: function(a) {\r\n a.computeBoundingBox();\r\n var b = a.boundingBox,\r\n c = new THREE.Vector3();\r\n c.addVectors(b.min, b.max);\r\n c.multiplyScalar(-0.5);\r\n a.applyMatrix(new THREE.Matrix4().makeTranslation(c.x, c.y, c.z));\r\n a.computeBoundingBox();\r\n return c;\r\n },\r\n normalizeUVs: function(a) {\r\n for (var a = a.faceVertexUvs[0], b = 0, c = a.length; b < c; b++)\r\n for (var d = a[b], e = 0, f = d.length; e < f; e++)\r\n 1 !== d[e].x && (d[e].x -= Math.floor(d[e].x)),\r\n 1 !== d[e].y && (d[e].y -= Math.floor(d[e].y));\r\n },\r\n triangulateQuads: function(a) {\r\n var b,\r\n c,\r\n d,\r\n e,\r\n f = [],\r\n g = [],\r\n h = [];\r\n b = 0;\r\n for (c = a.faceUvs.length; b < c; b++) g[b] = [];\r\n b = 0;\r\n for (c = a.faceVertexUvs.length; b < c; b++) h[b] = [];\r\n b = 0;\r\n for (c = a.faces.length; b < c; b++)\r\n if (((d = a.faces[b]), d instanceof THREE.Face4)) {\r\n e = d.a;\r\n var i = d.b,\r\n k = d.c,\r\n l = d.d,\r\n m = new THREE.Face3(),\r\n n = new THREE.Face3();\r\n m.color.copy(d.color);\r\n n.color.copy(d.color);\r\n m.materialIndex = d.materialIndex;\r\n n.materialIndex = d.materialIndex;\r\n m.a = e;\r\n m.b = i;\r\n m.c = l;\r\n n.a = i;\r\n n.b = k;\r\n n.c = l;\r\n 4 === d.vertexColors.length &&\r\n ((m.vertexColors[0] = d.vertexColors[0].clone()),\r\n (m.vertexColors[1] = d.vertexColors[1].clone()),\r\n (m.vertexColors[2] = d.vertexColors[3].clone()),\r\n (n.vertexColors[0] = d.vertexColors[1].clone()),\r\n (n.vertexColors[1] = d.vertexColors[2].clone()),\r\n (n.vertexColors[2] = d.vertexColors[3].clone()));\r\n f.push(m, n);\r\n d = 0;\r\n for (e = a.faceVertexUvs.length; d < e; d++)\r\n a.faceVertexUvs[d].length &&\r\n ((m = a.faceVertexUvs[d][b]),\r\n (i = m[1]),\r\n (k = m[2]),\r\n (l = m[3]),\r\n (m = [m[0].clone(), i.clone(), l.clone()]),\r\n (i = [i.clone(), k.clone(), l.clone()]),\r\n h[d].push(m, i));\r\n d = 0;\r\n for (e = a.faceUvs.length; d < e; d++)\r\n a.faceUvs[d].length && ((i = a.faceUvs[d][b]), g[d].push(i, i));\r\n } else {\r\n f.push(d);\r\n d = 0;\r\n for (e = a.faceUvs.length; d < e; d++) g[d].push(a.faceUvs[d][b]);\r\n d = 0;\r\n for (e = a.faceVertexUvs.length; d < e; d++)\r\n h[d].push(a.faceVertexUvs[d][b]);\r\n }\r\n a.faces = f;\r\n a.faceUvs = g;\r\n a.faceVertexUvs = h;\r\n a.computeCentroids();\r\n a.computeFaceNormals();\r\n a.computeVertexNormals();\r\n a.hasTangents && a.computeTangents();\r\n },\r\n setMaterialIndex: function(a, b, c, d) {\r\n a = a.faces;\r\n d = d || a.length - 1;\r\n for (c = c || 0; c <= d; c++) a[c].materialIndex = b;\r\n }\r\n};\r\nTHREE.GeometryUtils.random = THREE.Math.random16;\r\nTHREE.GeometryUtils.__v1 = new THREE.Vector3();\r\nTHREE.GeometryUtils.__v2 = new THREE.Vector3();\r\nTHREE.ImageUtils = {\r\n crossOrigin: \"anonymous\",\r\n loadTexture: function(a, b, c, d) {\r\n var e = new Image(),\r\n f = new THREE.Texture(e, b),\r\n b = new THREE.ImageLoader();\r\n b.addEventListener(\"load\", function(a) {\r\n f.image = a.content;\r\n f.needsUpdate = !0;\r\n c && c(f);\r\n });\r\n b.addEventListener(\"error\", function(a) {\r\n d && d(a.message);\r\n });\r\n b.crossOrigin = this.crossOrigin;\r\n b.load(a, e);\r\n f.sourceFile = a;\r\n return f;\r\n },\r\n loadCompressedTexture: function(a, b, c, d) {\r\n var e = new THREE.CompressedTexture();\r\n e.mapping = b;\r\n var f = new XMLHttpRequest();\r\n f.onload = function() {\r\n var a = THREE.ImageUtils.parseDDS(f.response, !0);\r\n e.format = a.format;\r\n e.mipmaps = a.mipmaps;\r\n e.image.width = a.width;\r\n e.image.height = a.height;\r\n e.generateMipmaps = !1;\r\n e.needsUpdate = !0;\r\n c && c(e);\r\n };\r\n f.onerror = d;\r\n f.open(\"GET\", a, !0);\r\n f.responseType = \"arraybuffer\";\r\n f.send(null);\r\n return e;\r\n },\r\n loadTextureCube: function(a, b, c, d) {\r\n var e = [];\r\n e.loadCount = 0;\r\n var f = new THREE.Texture();\r\n f.image = e;\r\n void 0 !== b && (f.mapping = b);\r\n f.flipY = !1;\r\n for (var b = 0, g = a.length; b < g; ++b) {\r\n var h = new Image();\r\n e[b] = h;\r\n h.onload = function() {\r\n e.loadCount += 1;\r\n 6 === e.loadCount && ((f.needsUpdate = !0), c && c(f));\r\n };\r\n h.onerror = d;\r\n h.crossOrigin = this.crossOrigin;\r\n h.src = a[b];\r\n }\r\n return f;\r\n },\r\n loadCompressedTextureCube: function(a, b, c, d) {\r\n var e = [];\r\n e.loadCount = 0;\r\n var f = new THREE.CompressedTexture();\r\n f.image = e;\r\n void 0 !== b && (f.mapping = b);\r\n f.flipY = !1;\r\n f.generateMipmaps = !1;\r\n b = function(a, b) {\r\n return function() {\r\n var d = THREE.ImageUtils.parseDDS(a.response, !0);\r\n b.format = d.format;\r\n b.mipmaps = d.mipmaps;\r\n b.width = d.width;\r\n b.height = d.height;\r\n e.loadCount += 1;\r\n 6 === e.loadCount &&\r\n ((f.format = d.format), (f.needsUpdate = !0), c && c(f));\r\n };\r\n };\r\n if (a instanceof Array)\r\n for (var g = 0, h = a.length; g < h; ++g) {\r\n var i = {};\r\n e[g] = i;\r\n var k = new XMLHttpRequest();\r\n k.onload = b(k, i);\r\n k.onerror = d;\r\n i = a[g];\r\n k.open(\"GET\", i, !0);\r\n k.responseType = \"arraybuffer\";\r\n k.send(null);\r\n }\r\n else\r\n (k = new XMLHttpRequest()),\r\n (k.onload = function() {\r\n var a = THREE.ImageUtils.parseDDS(k.response, !0);\r\n if (a.isCubemap) {\r\n for (var b = a.mipmaps.length / a.mipmapCount, d = 0; d < b; d++) {\r\n e[d] = { mipmaps: [] };\r\n for (var g = 0; g < a.mipmapCount; g++)\r\n e[d].mipmaps.push(a.mipmaps[d * a.mipmapCount + g]),\r\n (e[d].format = a.format),\r\n (e[d].width = a.width),\r\n (e[d].height = a.height);\r\n }\r\n f.format = a.format;\r\n f.needsUpdate = !0;\r\n c && c(f);\r\n }\r\n }),\r\n (k.onerror = d),\r\n k.open(\"GET\", a, !0),\r\n (k.responseType = \"arraybuffer\"),\r\n k.send(null);\r\n return f;\r\n },\r\n parseDDS: function(a, b) {\r\n function c(a) {\r\n return (\r\n a.charCodeAt(0) +\r\n (a.charCodeAt(1) << 8) +\r\n (a.charCodeAt(2) << 16) +\r\n (a.charCodeAt(3) << 24)\r\n );\r\n }\r\n var d = { mipmaps: [], width: 0, height: 0, format: null, mipmapCount: 1 },\r\n e = c(\"DXT1\"),\r\n f = c(\"DXT3\"),\r\n g = c(\"DXT5\"),\r\n h = new Int32Array(a, 0, 31);\r\n if (542327876 !== h[0])\r\n return (\r\n console.error(\r\n \"ImageUtils.parseDDS(): Invalid magic number in DDS header\"\r\n ),\r\n d\r\n );\r\n if (!h[20] & 4)\r\n return (\r\n console.error(\r\n \"ImageUtils.parseDDS(): Unsupported format, must contain a FourCC code\"\r\n ),\r\n d\r\n );\r\n var i = h[21];\r\n switch (i) {\r\n case e:\r\n e = 8;\r\n d.format = THREE.RGB_S3TC_DXT1_Format;\r\n break;\r\n case f:\r\n e = 16;\r\n d.format = THREE.RGBA_S3TC_DXT3_Format;\r\n break;\r\n case g:\r\n e = 16;\r\n d.format = THREE.RGBA_S3TC_DXT5_Format;\r\n break;\r\n default:\r\n return (\r\n console.error(\r\n \"ImageUtils.parseDDS(): Unsupported FourCC code: \",\r\n String.fromCharCode(\r\n i & 255,\r\n (i >> 8) & 255,\r\n (i >> 16) & 255,\r\n (i >> 24) & 255\r\n )\r\n ),\r\n d\r\n );\r\n }\r\n d.mipmapCount = 1;\r\n h[2] & 131072 && !1 !== b && (d.mipmapCount = Math.max(1, h[7]));\r\n d.isCubemap = h[28] & 512 ? !0 : !1;\r\n d.width = h[4];\r\n d.height = h[3];\r\n for (\r\n var h = h[1] + 4,\r\n f = d.width,\r\n g = d.height,\r\n i = d.isCubemap ? 6 : 1,\r\n k = 0;\r\n k < i;\r\n k++\r\n ) {\r\n for (var l = 0; l < d.mipmapCount; l++) {\r\n var m = (((Math.max(4, f) / 4) * Math.max(4, g)) / 4) * e,\r\n n = { data: new Uint8Array(a, h, m), width: f, height: g };\r\n d.mipmaps.push(n);\r\n h += m;\r\n f = Math.max(0.5 * f, 1);\r\n g = Math.max(0.5 * g, 1);\r\n }\r\n f = d.width;\r\n g = d.height;\r\n }\r\n return d;\r\n },\r\n getNormalMap: function(a, b) {\r\n var c = function(a) {\r\n var b = Math.sqrt(a[0] * a[0] + a[1] * a[1] + a[2] * a[2]);\r\n return [a[0] / b, a[1] / b, a[2] / b];\r\n },\r\n b = b | 1,\r\n d = a.width,\r\n e = a.height,\r\n f = document.createElement(\"canvas\");\r\n f.width = d;\r\n f.height = e;\r\n var g = f.getContext(\"2d\");\r\n g.drawImage(a, 0, 0);\r\n for (\r\n var h = g.getImageData(0, 0, d, e).data,\r\n i = g.createImageData(d, e),\r\n k = i.data,\r\n l = 0;\r\n l < d;\r\n l++\r\n )\r\n for (var m = 0; m < e; m++) {\r\n var n = 0 > m - 1 ? 0 : m - 1,\r\n s = m + 1 > e - 1 ? e - 1 : m + 1,\r\n r = 0 > l - 1 ? 0 : l - 1,\r\n p = l + 1 > d - 1 ? d - 1 : l + 1,\r\n q = [],\r\n y = [0, 0, (h[4 * (m * d + l)] / 255) * b];\r\n q.push([-1, 0, (h[4 * (m * d + r)] / 255) * b]);\r\n q.push([-1, -1, (h[4 * (n * d + r)] / 255) * b]);\r\n q.push([0, -1, (h[4 * (n * d + l)] / 255) * b]);\r\n q.push([1, -1, (h[4 * (n * d + p)] / 255) * b]);\r\n q.push([1, 0, (h[4 * (m * d + p)] / 255) * b]);\r\n q.push([1, 1, (h[4 * (s * d + p)] / 255) * b]);\r\n q.push([0, 1, (h[4 * (s * d + l)] / 255) * b]);\r\n q.push([-1, 1, (h[4 * (s * d + r)] / 255) * b]);\r\n n = [];\r\n r = q.length;\r\n for (s = 0; s < r; s++) {\r\n var p = q[s],\r\n v = q[(s + 1) % r],\r\n p = [p[0] - y[0], p[1] - y[1], p[2] - y[2]],\r\n v = [v[0] - y[0], v[1] - y[1], v[2] - y[2]];\r\n n.push(\r\n c([\r\n p[1] * v[2] - p[2] * v[1],\r\n p[2] * v[0] - p[0] * v[2],\r\n p[0] * v[1] - p[1] * v[0]\r\n ])\r\n );\r\n }\r\n q = [0, 0, 0];\r\n for (s = 0; s < n.length; s++)\r\n (q[0] += n[s][0]), (q[1] += n[s][1]), (q[2] += n[s][2]);\r\n q[0] /= n.length;\r\n q[1] /= n.length;\r\n q[2] /= n.length;\r\n y = 4 * (m * d + l);\r\n k[y] = (255 * ((q[0] + 1) / 2)) | 0;\r\n k[y + 1] = (255 * ((q[1] + 1) / 2)) | 0;\r\n k[y + 2] = (255 * q[2]) | 0;\r\n k[y + 3] = 255;\r\n }\r\n g.putImageData(i, 0, 0);\r\n return f;\r\n },\r\n generateDataTexture: function(a, b, c) {\r\n for (\r\n var d = a * b,\r\n e = new Uint8Array(3 * d),\r\n f = Math.floor(255 * c.r),\r\n g = Math.floor(255 * c.g),\r\n c = Math.floor(255 * c.b),\r\n h = 0;\r\n h < d;\r\n h++\r\n )\r\n (e[3 * h] = f), (e[3 * h + 1] = g), (e[3 * h + 2] = c);\r\n a = new THREE.DataTexture(e, a, b, THREE.RGBFormat);\r\n a.needsUpdate = !0;\r\n return a;\r\n }\r\n};\r\nTHREE.SceneUtils = {\r\n createMultiMaterialObject: function(a, b) {\r\n for (var c = new THREE.Object3D(), d = 0, e = b.length; d < e; d++)\r\n c.add(new THREE.Mesh(a, b[d]));\r\n return c;\r\n },\r\n detach: function(a, b, c) {\r\n a.applyMatrix(b.matrixWorld);\r\n b.remove(a);\r\n c.add(a);\r\n },\r\n attach: function(a, b, c) {\r\n var d = new THREE.Matrix4();\r\n d.getInverse(c.matrixWorld);\r\n a.applyMatrix(d);\r\n b.remove(a);\r\n c.add(a);\r\n }\r\n};\r\nTHREE.FontUtils = {\r\n faces: {},\r\n face: \"helvetiker\",\r\n weight: \"normal\",\r\n style: \"normal\",\r\n size: 150,\r\n divisions: 10,\r\n getFace: function() {\r\n return this.faces[this.face][this.weight][this.style];\r\n },\r\n loadFace: function(a) {\r\n var b = a.familyName.toLowerCase();\r\n this.faces[b] = this.faces[b] || {};\r\n this.faces[b][a.cssFontWeight] = this.faces[b][a.cssFontWeight] || {};\r\n this.faces[b][a.cssFontWeight][a.cssFontStyle] = a;\r\n return (this.faces[b][a.cssFontWeight][a.cssFontStyle] = a);\r\n },\r\n drawText: function(a) {\r\n for (\r\n var b = this.getFace(),\r\n c = this.size / b.resolution,\r\n d = 0,\r\n e = String(a).split(\"\"),\r\n f = e.length,\r\n g = [],\r\n a = 0;\r\n a < f;\r\n a++\r\n ) {\r\n var h = new THREE.Path(),\r\n h = this.extractGlyphPoints(e[a], b, c, d, h),\r\n d = d + h.offset;\r\n g.push(h.path);\r\n }\r\n return { paths: g, offset: d / 2 };\r\n },\r\n extractGlyphPoints: function(a, b, c, d, e) {\r\n var f = [],\r\n g,\r\n h,\r\n i,\r\n k,\r\n l,\r\n m,\r\n n,\r\n s,\r\n r,\r\n p,\r\n q,\r\n y = b.glyphs[a] || b.glyphs[\"?\"];\r\n if (y) {\r\n if (y.o) {\r\n b = y._cachedOutline || (y._cachedOutline = y.o.split(\" \"));\r\n k = b.length;\r\n for (a = 0; a < k; )\r\n switch (((i = b[a++]), i)) {\r\n case \"m\":\r\n i = b[a++] * c + d;\r\n l = b[a++] * c;\r\n e.moveTo(i, l);\r\n break;\r\n case \"l\":\r\n i = b[a++] * c + d;\r\n l = b[a++] * c;\r\n e.lineTo(i, l);\r\n break;\r\n case \"q\":\r\n i = b[a++] * c + d;\r\n l = b[a++] * c;\r\n s = b[a++] * c + d;\r\n r = b[a++] * c;\r\n e.quadraticCurveTo(s, r, i, l);\r\n if ((g = f[f.length - 1])) {\r\n m = g.x;\r\n n = g.y;\r\n g = 1;\r\n for (h = this.divisions; g <= h; g++) {\r\n var v = g / h;\r\n THREE.Shape.Utils.b2(v, m, s, i);\r\n THREE.Shape.Utils.b2(v, n, r, l);\r\n }\r\n }\r\n break;\r\n case \"b\":\r\n if (\r\n ((i = b[a++] * c + d),\r\n (l = b[a++] * c),\r\n (s = b[a++] * c + d),\r\n (r = b[a++] * -c),\r\n (p = b[a++] * c + d),\r\n (q = b[a++] * -c),\r\n e.bezierCurveTo(i, l, s, r, p, q),\r\n (g = f[f.length - 1]))\r\n ) {\r\n m = g.x;\r\n n = g.y;\r\n g = 1;\r\n for (h = this.divisions; g <= h; g++)\r\n (v = g / h),\r\n THREE.Shape.Utils.b3(v, m, s, p, i),\r\n THREE.Shape.Utils.b3(v, n, r, q, l);\r\n }\r\n }\r\n }\r\n return { offset: y.ha * c, path: e };\r\n }\r\n }\r\n};\r\nTHREE.FontUtils.generateShapes = function(a, b) {\r\n var b = b || {},\r\n c = void 0 !== b.curveSegments ? b.curveSegments : 4,\r\n d = void 0 !== b.font ? b.font : \"helvetiker\",\r\n e = void 0 !== b.weight ? b.weight : \"normal\",\r\n f = void 0 !== b.style ? b.style : \"normal\";\r\n THREE.FontUtils.size = void 0 !== b.size ? b.size : 100;\r\n THREE.FontUtils.divisions = c;\r\n THREE.FontUtils.face = d;\r\n THREE.FontUtils.weight = e;\r\n THREE.FontUtils.style = f;\r\n c = THREE.FontUtils.drawText(a).paths;\r\n d = [];\r\n e = 0;\r\n for (f = c.length; e < f; e++) Array.prototype.push.apply(d, c[e].toShapes());\r\n return d;\r\n};\r\n(function(a) {\r\n var b = function(a) {\r\n for (var b = a.length, e = 0, f = b - 1, g = 0; g < b; f = g++)\r\n e += a[f].x * a[g].y - a[g].x * a[f].y;\r\n return 0.5 * e;\r\n };\r\n a.Triangulate = function(a, d) {\r\n var e = a.length;\r\n if (3 > e) return null;\r\n var f = [],\r\n g = [],\r\n h = [],\r\n i,\r\n k,\r\n l;\r\n if (0 < b(a)) for (k = 0; k < e; k++) g[k] = k;\r\n else for (k = 0; k < e; k++) g[k] = e - 1 - k;\r\n var m = 2 * e;\r\n for (k = e - 1; 2 < e; ) {\r\n if (0 >= m--) {\r\n console.log(\"Warning, unable to triangulate polygon!\");\r\n break;\r\n }\r\n i = k;\r\n e <= i && (i = 0);\r\n k = i + 1;\r\n e <= k && (k = 0);\r\n l = k + 1;\r\n e <= l && (l = 0);\r\n var n;\r\n a: {\r\n var s = (n = void 0),\r\n r = void 0,\r\n p = void 0,\r\n q = void 0,\r\n y = void 0,\r\n v = void 0,\r\n z = void 0,\r\n t = void 0,\r\n s = a[g[i]].x,\r\n r = a[g[i]].y,\r\n p = a[g[k]].x,\r\n q = a[g[k]].y,\r\n y = a[g[l]].x,\r\n v = a[g[l]].y;\r\n if (1e-10 > (p - s) * (v - r) - (q - r) * (y - s)) n = !1;\r\n else {\r\n var A = void 0,\r\n I = void 0,\r\n C = void 0,\r\n x = void 0,\r\n G = void 0,\r\n J = void 0,\r\n E = void 0,\r\n H = void 0,\r\n B = void 0,\r\n W = void 0,\r\n B = (H = E = t = z = void 0),\r\n A = y - p,\r\n I = v - q,\r\n C = s - y,\r\n x = r - v,\r\n G = p - s,\r\n J = q - r;\r\n for (n = 0; n < e; n++)\r\n if (!(n === i || n === k || n === l))\r\n if (\r\n ((z = a[g[n]].x),\r\n (t = a[g[n]].y),\r\n (E = z - s),\r\n (H = t - r),\r\n (B = z - p),\r\n (W = t - q),\r\n (z -= y),\r\n (t -= v),\r\n (B = A * W - I * B),\r\n (E = G * H - J * E),\r\n (H = C * t - x * z),\r\n 0 <= B && 0 <= H && 0 <= E)\r\n ) {\r\n n = !1;\r\n break a;\r\n }\r\n n = !0;\r\n }\r\n }\r\n if (n) {\r\n f.push([a[g[i]], a[g[k]], a[g[l]]]);\r\n h.push([g[i], g[k], g[l]]);\r\n i = k;\r\n for (l = k + 1; l < e; i++, l++) g[i] = g[l];\r\n e--;\r\n m = 2 * e;\r\n }\r\n }\r\n return d ? h : f;\r\n };\r\n a.Triangulate.area = b;\r\n return a;\r\n})(THREE.FontUtils);\r\nself._typeface_js = {\r\n faces: THREE.FontUtils.faces,\r\n loadFace: THREE.FontUtils.loadFace\r\n};\r\nTHREE.Curve = function() {};\r\nTHREE.Curve.prototype.getPoint = function() {\r\n console.log(\"Warning, getPoint() not implemented!\");\r\n return null;\r\n};\r\nTHREE.Curve.prototype.getPointAt = function(a) {\r\n a = this.getUtoTmapping(a);\r\n return this.getPoint(a);\r\n};\r\nTHREE.Curve.prototype.getPoints = function(a) {\r\n a || (a = 5);\r\n var b,\r\n c = [];\r\n for (b = 0; b <= a; b++) c.push(this.getPoint(b / a));\r\n return c;\r\n};\r\nTHREE.Curve.prototype.getSpacedPoints = function(a) {\r\n a || (a = 5);\r\n var b,\r\n c = [];\r\n for (b = 0; b <= a; b++) c.push(this.getPointAt(b / a));\r\n return c;\r\n};\r\nTHREE.Curve.prototype.getLength = function() {\r\n var a = this.getLengths();\r\n return a[a.length - 1];\r\n};\r\nTHREE.Curve.prototype.getLengths = function(a) {\r\n a || (a = this.__arcLengthDivisions ? this.__arcLengthDivisions : 200);\r\n if (\r\n this.cacheArcLengths &&\r\n this.cacheArcLengths.length == a + 1 &&\r\n !this.needsUpdate\r\n )\r\n return this.cacheArcLengths;\r\n this.needsUpdate = !1;\r\n var b = [],\r\n c,\r\n d = this.getPoint(0),\r\n e,\r\n f = 0;\r\n b.push(0);\r\n for (e = 1; e <= a; e++)\r\n (c = this.getPoint(e / a)), (f += c.distanceTo(d)), b.push(f), (d = c);\r\n return (this.cacheArcLengths = b);\r\n};\r\nTHREE.Curve.prototype.updateArcLengths = function() {\r\n this.needsUpdate = !0;\r\n this.getLengths();\r\n};\r\nTHREE.Curve.prototype.getUtoTmapping = function(a, b) {\r\n var c = this.getLengths(),\r\n d = 0,\r\n e = c.length,\r\n f;\r\n f = b ? b : a * c[e - 1];\r\n for (var g = 0, h = e - 1, i; g <= h; )\r\n if (((d = Math.floor(g + (h - g) / 2)), (i = c[d] - f), 0 > i)) g = d + 1;\r\n else if (0 < i) h = d - 1;\r\n else {\r\n h = d;\r\n break;\r\n }\r\n d = h;\r\n if (c[d] == f) return d / (e - 1);\r\n g = c[d];\r\n return (c = (d + (f - g) / (c[d + 1] - g)) / (e - 1));\r\n};\r\nTHREE.Curve.prototype.getTangent = function(a) {\r\n var b = a - 1e-4,\r\n a = a + 1e-4;\r\n 0 > b && (b = 0);\r\n 1 < a && (a = 1);\r\n b = this.getPoint(b);\r\n return this.getPoint(a)\r\n .clone()\r\n .sub(b)\r\n .normalize();\r\n};\r\nTHREE.Curve.prototype.getTangentAt = function(a) {\r\n a = this.getUtoTmapping(a);\r\n return this.getTangent(a);\r\n};\r\nTHREE.LineCurve = function(a, b) {\r\n this.v1 = a;\r\n this.v2 = b;\r\n};\r\nTHREE.LineCurve.prototype = Object.create(THREE.Curve.prototype);\r\nTHREE.LineCurve.prototype.getPoint = function(a) {\r\n var b = this.v2.clone().sub(this.v1);\r\n b.multiplyScalar(a).add(this.v1);\r\n return b;\r\n};\r\nTHREE.LineCurve.prototype.getPointAt = function(a) {\r\n return this.getPoint(a);\r\n};\r\nTHREE.LineCurve.prototype.getTangent = function() {\r\n return this.v2\r\n .clone()\r\n .sub(this.v1)\r\n .normalize();\r\n};\r\nTHREE.QuadraticBezierCurve = function(a, b, c) {\r\n this.v0 = a;\r\n this.v1 = b;\r\n this.v2 = c;\r\n};\r\nTHREE.QuadraticBezierCurve.prototype = Object.create(THREE.Curve.prototype);\r\nTHREE.QuadraticBezierCurve.prototype.getPoint = function(a) {\r\n var b;\r\n b = THREE.Shape.Utils.b2(a, this.v0.x, this.v1.x, this.v2.x);\r\n a = THREE.Shape.Utils.b2(a, this.v0.y, this.v1.y, this.v2.y);\r\n return new THREE.Vector2(b, a);\r\n};\r\nTHREE.QuadraticBezierCurve.prototype.getTangent = function(a) {\r\n var b;\r\n b = THREE.Curve.Utils.tangentQuadraticBezier(\r\n a,\r\n this.v0.x,\r\n this.v1.x,\r\n this.v2.x\r\n );\r\n a = THREE.Curve.Utils.tangentQuadraticBezier(\r\n a,\r\n this.v0.y,\r\n this.v1.y,\r\n this.v2.y\r\n );\r\n b = new THREE.Vector2(b, a);\r\n b.normalize();\r\n return b;\r\n};\r\nTHREE.CubicBezierCurve = function(a, b, c, d) {\r\n this.v0 = a;\r\n this.v1 = b;\r\n this.v2 = c;\r\n this.v3 = d;\r\n};\r\nTHREE.CubicBezierCurve.prototype = Object.create(THREE.Curve.prototype);\r\nTHREE.CubicBezierCurve.prototype.getPoint = function(a) {\r\n var b;\r\n b = THREE.Shape.Utils.b3(a, this.v0.x, this.v1.x, this.v2.x, this.v3.x);\r\n a = THREE.Shape.Utils.b3(a, this.v0.y, this.v1.y, this.v2.y, this.v3.y);\r\n return new THREE.Vector2(b, a);\r\n};\r\nTHREE.CubicBezierCurve.prototype.getTangent = function(a) {\r\n var b;\r\n b = THREE.Curve.Utils.tangentCubicBezier(\r\n a,\r\n this.v0.x,\r\n this.v1.x,\r\n this.v2.x,\r\n this.v3.x\r\n );\r\n a = THREE.Curve.Utils.tangentCubicBezier(\r\n a,\r\n this.v0.y,\r\n this.v1.y,\r\n this.v2.y,\r\n this.v3.y\r\n );\r\n b = new THREE.Vector2(b, a);\r\n b.normalize();\r\n return b;\r\n};\r\nTHREE.SplineCurve = function(a) {\r\n this.points = void 0 == a ? [] : a;\r\n};\r\nTHREE.SplineCurve.prototype = Object.create(THREE.Curve.prototype);\r\nTHREE.SplineCurve.prototype.getPoint = function(a) {\r\n var b = new THREE.Vector2(),\r\n c = [],\r\n d = this.points,\r\n e;\r\n e = (d.length - 1) * a;\r\n a = Math.floor(e);\r\n e -= a;\r\n c[0] = 0 == a ? a : a - 1;\r\n c[1] = a;\r\n c[2] = a > d.length - 2 ? d.length - 1 : a + 1;\r\n c[3] = a > d.length - 3 ? d.length - 1 : a + 2;\r\n b.x = THREE.Curve.Utils.interpolate(\r\n d[c[0]].x,\r\n d[c[1]].x,\r\n d[c[2]].x,\r\n d[c[3]].x,\r\n e\r\n );\r\n b.y = THREE.Curve.Utils.interpolate(\r\n d[c[0]].y,\r\n d[c[1]].y,\r\n d[c[2]].y,\r\n d[c[3]].y,\r\n e\r\n );\r\n return b;\r\n};\r\nTHREE.EllipseCurve = function(a, b, c, d, e, f, g) {\r\n this.aX = a;\r\n this.aY = b;\r\n this.xRadius = c;\r\n this.yRadius = d;\r\n this.aStartAngle = e;\r\n this.aEndAngle = f;\r\n this.aClockwise = g;\r\n};\r\nTHREE.EllipseCurve.prototype = Object.create(THREE.Curve.prototype);\r\nTHREE.EllipseCurve.prototype.getPoint = function(a) {\r\n var b = this.aEndAngle - this.aStartAngle;\r\n this.aClockwise || (a = 1 - a);\r\n b = this.aStartAngle + a * b;\r\n a = this.aX + this.xRadius * Math.cos(b);\r\n b = this.aY + this.yRadius * Math.sin(b);\r\n return new THREE.Vector2(a, b);\r\n};\r\nTHREE.ArcCurve = function(a, b, c, d, e, f) {\r\n THREE.EllipseCurve.call(this, a, b, c, c, d, e, f);\r\n};\r\nTHREE.ArcCurve.prototype = Object.create(THREE.EllipseCurve.prototype);\r\nTHREE.Curve.Utils = {\r\n tangentQuadraticBezier: function(a, b, c, d) {\r\n return 2 * (1 - a) * (c - b) + 2 * a * (d - c);\r\n },\r\n tangentCubicBezier: function(a, b, c, d, e) {\r\n return (\r\n -3 * b * (1 - a) * (1 - a) +\r\n 3 * c * (1 - a) * (1 - a) -\r\n 6 * a * c * (1 - a) +\r\n 6 * a * d * (1 - a) -\r\n 3 * a * a * d +\r\n 3 * a * a * e\r\n );\r\n },\r\n tangentSpline: function(a) {\r\n return (\r\n 6 * a * a -\r\n 6 * a +\r\n (3 * a * a - 4 * a + 1) +\r\n (-6 * a * a + 6 * a) +\r\n (3 * a * a - 2 * a)\r\n );\r\n },\r\n interpolate: function(a, b, c, d, e) {\r\n var a = 0.5 * (c - a),\r\n d = 0.5 * (d - b),\r\n f = e * e;\r\n return (\r\n (2 * b - 2 * c + a + d) * e * f +\r\n (-3 * b + 3 * c - 2 * a - d) * f +\r\n a * e +\r\n b\r\n );\r\n }\r\n};\r\nTHREE.Curve.create = function(a, b) {\r\n a.prototype = Object.create(THREE.Curve.prototype);\r\n a.prototype.getPoint = b;\r\n return a;\r\n};\r\nTHREE.LineCurve3 = THREE.Curve.create(\r\n function(a, b) {\r\n this.v1 = a;\r\n this.v2 = b;\r\n },\r\n function(a) {\r\n var b = new THREE.Vector3();\r\n b.subVectors(this.v2, this.v1);\r\n b.multiplyScalar(a);\r\n b.add(this.v1);\r\n return b;\r\n }\r\n);\r\nTHREE.QuadraticBezierCurve3 = THREE.Curve.create(\r\n function(a, b, c) {\r\n this.v0 = a;\r\n this.v1 = b;\r\n this.v2 = c;\r\n },\r\n function(a) {\r\n var b, c;\r\n b = THREE.Shape.Utils.b2(a, this.v0.x, this.v1.x, this.v2.x);\r\n c = THREE.Shape.Utils.b2(a, this.v0.y, this.v1.y, this.v2.y);\r\n a = THREE.Shape.Utils.b2(a, this.v0.z, this.v1.z, this.v2.z);\r\n return new THREE.Vector3(b, c, a);\r\n }\r\n);\r\nTHREE.CubicBezierCurve3 = THREE.Curve.create(\r\n function(a, b, c, d) {\r\n this.v0 = a;\r\n this.v1 = b;\r\n this.v2 = c;\r\n this.v3 = d;\r\n },\r\n function(a) {\r\n var b, c;\r\n b = THREE.Shape.Utils.b3(a, this.v0.x, this.v1.x, this.v2.x, this.v3.x);\r\n c = THREE.Shape.Utils.b3(a, this.v0.y, this.v1.y, this.v2.y, this.v3.y);\r\n a = THREE.Shape.Utils.b3(a, this.v0.z, this.v1.z, this.v2.z, this.v3.z);\r\n return new THREE.Vector3(b, c, a);\r\n }\r\n);\r\nTHREE.SplineCurve3 = THREE.Curve.create(\r\n function(a) {\r\n this.points = void 0 == a ? [] : a;\r\n },\r\n function(a) {\r\n var b = new THREE.Vector3(),\r\n c = [],\r\n d = this.points,\r\n e,\r\n a = (d.length - 1) * a;\r\n e = Math.floor(a);\r\n a -= e;\r\n c[0] = 0 == e ? e : e - 1;\r\n c[1] = e;\r\n c[2] = e > d.length - 2 ? d.length - 1 : e + 1;\r\n c[3] = e > d.length - 3 ? d.length - 1 : e + 2;\r\n e = d[c[0]];\r\n var f = d[c[1]],\r\n g = d[c[2]],\r\n c = d[c[3]];\r\n b.x = THREE.Curve.Utils.interpolate(e.x, f.x, g.x, c.x, a);\r\n b.y = THREE.Curve.Utils.interpolate(e.y, f.y, g.y, c.y, a);\r\n b.z = THREE.Curve.Utils.interpolate(e.z, f.z, g.z, c.z, a);\r\n return b;\r\n }\r\n);\r\nTHREE.ClosedSplineCurve3 = THREE.Curve.create(\r\n function(a) {\r\n this.points = void 0 == a ? [] : a;\r\n },\r\n function(a) {\r\n var b = new THREE.Vector3(),\r\n c = [],\r\n d = this.points,\r\n e;\r\n e = (d.length - 0) * a;\r\n a = Math.floor(e);\r\n e -= a;\r\n a += 0 < a ? 0 : (Math.floor(Math.abs(a) / d.length) + 1) * d.length;\r\n c[0] = (a - 1) % d.length;\r\n c[1] = a % d.length;\r\n c[2] = (a + 1) % d.length;\r\n c[3] = (a + 2) % d.length;\r\n b.x = THREE.Curve.Utils.interpolate(\r\n d[c[0]].x,\r\n d[c[1]].x,\r\n d[c[2]].x,\r\n d[c[3]].x,\r\n e\r\n );\r\n b.y = THREE.Curve.Utils.interpolate(\r\n d[c[0]].y,\r\n d[c[1]].y,\r\n d[c[2]].y,\r\n d[c[3]].y,\r\n e\r\n );\r\n b.z = THREE.Curve.Utils.interpolate(\r\n d[c[0]].z,\r\n d[c[1]].z,\r\n d[c[2]].z,\r\n d[c[3]].z,\r\n e\r\n );\r\n return b;\r\n }\r\n);\r\nTHREE.CurvePath = function() {\r\n this.curves = [];\r\n this.bends = [];\r\n this.autoClose = !1;\r\n};\r\nTHREE.CurvePath.prototype = Object.create(THREE.Curve.prototype);\r\nTHREE.CurvePath.prototype.add = function(a) {\r\n this.curves.push(a);\r\n};\r\nTHREE.CurvePath.prototype.checkConnection = function() {};\r\nTHREE.CurvePath.prototype.closePath = function() {\r\n var a = this.curves[0].getPoint(0),\r\n b = this.curves[this.curves.length - 1].getPoint(1);\r\n a.equals(b) || this.curves.push(new THREE.LineCurve(b, a));\r\n};\r\nTHREE.CurvePath.prototype.getPoint = function(a) {\r\n for (\r\n var b = a * this.getLength(), c = this.getCurveLengths(), a = 0;\r\n a < c.length;\r\n\r\n ) {\r\n if (c[a] >= b)\r\n return (\r\n (b = c[a] - b),\r\n (a = this.curves[a]),\r\n (b = 1 - b / a.getLength()),\r\n a.getPointAt(b)\r\n );\r\n a++;\r\n }\r\n return null;\r\n};\r\nTHREE.CurvePath.prototype.getLength = function() {\r\n var a = this.getCurveLengths();\r\n return a[a.length - 1];\r\n};\r\nTHREE.CurvePath.prototype.getCurveLengths = function() {\r\n if (this.cacheLengths && this.cacheLengths.length == this.curves.length)\r\n return this.cacheLengths;\r\n var a = [],\r\n b = 0,\r\n c,\r\n d = this.curves.length;\r\n for (c = 0; c < d; c++) (b += this.curves[c].getLength()), a.push(b);\r\n return (this.cacheLengths = a);\r\n};\r\nTHREE.CurvePath.prototype.getBoundingBox = function() {\r\n var a = this.getPoints(),\r\n b,\r\n c,\r\n d,\r\n e,\r\n f,\r\n g;\r\n b = c = Number.NEGATIVE_INFINITY;\r\n e = f = Number.POSITIVE_INFINITY;\r\n var h,\r\n i,\r\n k,\r\n l,\r\n m = a[0] instanceof THREE.Vector3;\r\n l = m ? new THREE.Vector3() : new THREE.Vector2();\r\n i = 0;\r\n for (k = a.length; i < k; i++)\r\n (h = a[i]),\r\n h.x > b ? (b = h.x) : h.x < e && (e = h.x),\r\n h.y > c ? (c = h.y) : h.y < f && (f = h.y),\r\n m && (h.z > d ? (d = h.z) : h.z < g && (g = h.z)),\r\n l.add(h);\r\n a = { minX: e, minY: f, maxX: b, maxY: c, centroid: l.divideScalar(k) };\r\n m && ((a.maxZ = d), (a.minZ = g));\r\n return a;\r\n};\r\nTHREE.CurvePath.prototype.createPointsGeometry = function(a) {\r\n a = this.getPoints(a, !0);\r\n return this.createGeometry(a);\r\n};\r\nTHREE.CurvePath.prototype.createSpacedPointsGeometry = function(a) {\r\n a = this.getSpacedPoints(a, !0);\r\n return this.createGeometry(a);\r\n};\r\nTHREE.CurvePath.prototype.createGeometry = function(a) {\r\n for (var b = new THREE.Geometry(), c = 0; c < a.length; c++)\r\n b.vertices.push(new THREE.Vector3(a[c].x, a[c].y, a[c].z || 0));\r\n return b;\r\n};\r\nTHREE.CurvePath.prototype.addWrapPath = function(a) {\r\n this.bends.push(a);\r\n};\r\nTHREE.CurvePath.prototype.getTransformedPoints = function(a, b) {\r\n var c = this.getPoints(a),\r\n d,\r\n e;\r\n b || (b = this.bends);\r\n d = 0;\r\n for (e = b.length; d < e; d++) c = this.getWrapPoints(c, b[d]);\r\n return c;\r\n};\r\nTHREE.CurvePath.prototype.getTransformedSpacedPoints = function(a, b) {\r\n var c = this.getSpacedPoints(a),\r\n d,\r\n e;\r\n b || (b = this.bends);\r\n d = 0;\r\n for (e = b.length; d < e; d++) c = this.getWrapPoints(c, b[d]);\r\n return c;\r\n};\r\nTHREE.CurvePath.prototype.getWrapPoints = function(a, b) {\r\n var c = this.getBoundingBox(),\r\n d,\r\n e,\r\n f,\r\n g,\r\n h,\r\n i;\r\n d = 0;\r\n for (e = a.length; d < e; d++)\r\n (f = a[d]),\r\n (g = f.x),\r\n (h = f.y),\r\n (i = g / c.maxX),\r\n (i = b.getUtoTmapping(i, g)),\r\n (g = b.getPoint(i)),\r\n (h = b.getNormalVector(i).multiplyScalar(h)),\r\n (f.x = g.x + h.x),\r\n (f.y = g.y + h.y);\r\n return a;\r\n};\r\nTHREE.Gyroscope = function() {\r\n THREE.Object3D.call(this);\r\n};\r\nTHREE.Gyroscope.prototype = Object.create(THREE.Object3D.prototype);\r\nTHREE.Gyroscope.prototype.updateMatrixWorld = function(a) {\r\n this.matrixAutoUpdate && this.updateMatrix();\r\n if (this.matrixWorldNeedsUpdate || a)\r\n this.parent\r\n ? (this.matrixWorld.multiplyMatrices(\r\n this.parent.matrixWorld,\r\n this.matrix\r\n ),\r\n this.matrixWorld.decompose(\r\n this.translationWorld,\r\n this.rotationWorld,\r\n this.scaleWorld\r\n ),\r\n this.matrix.decompose(\r\n this.translationObject,\r\n this.rotationObject,\r\n this.scaleObject\r\n ),\r\n this.matrixWorld.compose(\r\n this.translationWorld,\r\n this.rotationObject,\r\n this.scaleWorld\r\n ))\r\n : this.matrixWorld.copy(this.matrix),\r\n (this.matrixWorldNeedsUpdate = !1),\r\n (a = !0);\r\n for (var b = 0, c = this.children.length; b < c; b++)\r\n this.children[b].updateMatrixWorld(a);\r\n};\r\nTHREE.Gyroscope.prototype.translationWorld = new THREE.Vector3();\r\nTHREE.Gyroscope.prototype.translationObject = new THREE.Vector3();\r\nTHREE.Gyroscope.prototype.rotationWorld = new THREE.Quaternion();\r\nTHREE.Gyroscope.prototype.rotationObject = new THREE.Quaternion();\r\nTHREE.Gyroscope.prototype.scaleWorld = new THREE.Vector3();\r\nTHREE.Gyroscope.prototype.scaleObject = new THREE.Vector3();\r\nTHREE.Path = function(a) {\r\n THREE.CurvePath.call(this);\r\n this.actions = [];\r\n a && this.fromPoints(a);\r\n};\r\nTHREE.Path.prototype = Object.create(THREE.CurvePath.prototype);\r\nTHREE.PathActions = {\r\n MOVE_TO: \"moveTo\",\r\n LINE_TO: \"lineTo\",\r\n QUADRATIC_CURVE_TO: \"quadraticCurveTo\",\r\n BEZIER_CURVE_TO: \"bezierCurveTo\",\r\n CSPLINE_THRU: \"splineThru\",\r\n ARC: \"arc\",\r\n ELLIPSE: \"ellipse\"\r\n};\r\nTHREE.Path.prototype.fromPoints = function(a) {\r\n this.moveTo(a[0].x, a[0].y);\r\n for (var b = 1, c = a.length; b < c; b++) this.lineTo(a[b].x, a[b].y);\r\n};\r\nTHREE.Path.prototype.moveTo = function(a, b) {\r\n var c = Array.prototype.slice.call(arguments);\r\n this.actions.push({ action: THREE.PathActions.MOVE_TO, args: c });\r\n};\r\nTHREE.Path.prototype.lineTo = function(a, b) {\r\n var c = Array.prototype.slice.call(arguments),\r\n d = this.actions[this.actions.length - 1].args,\r\n d = new THREE.LineCurve(\r\n new THREE.Vector2(d[d.length - 2], d[d.length - 1]),\r\n new THREE.Vector2(a, b)\r\n );\r\n this.curves.push(d);\r\n this.actions.push({ action: THREE.PathActions.LINE_TO, args: c });\r\n};\r\nTHREE.Path.prototype.quadraticCurveTo = function(a, b, c, d) {\r\n var e = Array.prototype.slice.call(arguments),\r\n f = this.actions[this.actions.length - 1].args,\r\n f = new THREE.QuadraticBezierCurve(\r\n new THREE.Vector2(f[f.length - 2], f[f.length - 1]),\r\n new THREE.Vector2(a, b),\r\n new THREE.Vector2(c, d)\r\n );\r\n this.curves.push(f);\r\n this.actions.push({ action: THREE.PathActions.QUADRATIC_CURVE_TO, args: e });\r\n};\r\nTHREE.Path.prototype.bezierCurveTo = function(a, b, c, d, e, f) {\r\n var g = Array.prototype.slice.call(arguments),\r\n h = this.actions[this.actions.length - 1].args,\r\n h = new THREE.CubicBezierCurve(\r\n new THREE.Vector2(h[h.length - 2], h[h.length - 1]),\r\n new THREE.Vector2(a, b),\r\n new THREE.Vector2(c, d),\r\n new THREE.Vector2(e, f)\r\n );\r\n this.curves.push(h);\r\n this.actions.push({ action: THREE.PathActions.BEZIER_CURVE_TO, args: g });\r\n};\r\nTHREE.Path.prototype.splineThru = function(a) {\r\n var b = Array.prototype.slice.call(arguments),\r\n c = this.actions[this.actions.length - 1].args,\r\n c = [new THREE.Vector2(c[c.length - 2], c[c.length - 1])];\r\n Array.prototype.push.apply(c, a);\r\n c = new THREE.SplineCurve(c);\r\n this.curves.push(c);\r\n this.actions.push({ action: THREE.PathActions.CSPLINE_THRU, args: b });\r\n};\r\nTHREE.Path.prototype.arc = function(a, b, c, d, e, f) {\r\n var g = this.actions[this.actions.length - 1].args;\r\n this.absarc(a + g[g.length - 2], b + g[g.length - 1], c, d, e, f);\r\n};\r\nTHREE.Path.prototype.absarc = function(a, b, c, d, e, f) {\r\n this.absellipse(a, b, c, c, d, e, f);\r\n};\r\nTHREE.Path.prototype.ellipse = function(a, b, c, d, e, f, g) {\r\n var h = this.actions[this.actions.length - 1].args;\r\n this.absellipse(a + h[h.length - 2], b + h[h.length - 1], c, d, e, f, g);\r\n};\r\nTHREE.Path.prototype.absellipse = function(a, b, c, d, e, f, g) {\r\n var h = Array.prototype.slice.call(arguments),\r\n i = new THREE.EllipseCurve(a, b, c, d, e, f, g);\r\n this.curves.push(i);\r\n i = i.getPoint(g ? 1 : 0);\r\n h.push(i.x);\r\n h.push(i.y);\r\n this.actions.push({ action: THREE.PathActions.ELLIPSE, args: h });\r\n};\r\nTHREE.Path.prototype.getSpacedPoints = function(a) {\r\n a || (a = 40);\r\n for (var b = [], c = 0; c < a; c++) b.push(this.getPoint(c / a));\r\n return b;\r\n};\r\nTHREE.Path.prototype.getPoints = function(a, b) {\r\n if (this.useSpacedPoints)\r\n return console.log(\"tata\"), this.getSpacedPoints(a, b);\r\n var a = a || 12,\r\n c = [],\r\n d,\r\n e,\r\n f,\r\n g,\r\n h,\r\n i,\r\n k,\r\n l,\r\n m,\r\n n,\r\n s,\r\n r,\r\n p;\r\n d = 0;\r\n for (e = this.actions.length; d < e; d++)\r\n switch (((f = this.actions[d]), (g = f.action), (f = f.args), g)) {\r\n case THREE.PathActions.MOVE_TO:\r\n c.push(new THREE.Vector2(f[0], f[1]));\r\n break;\r\n case THREE.PathActions.LINE_TO:\r\n c.push(new THREE.Vector2(f[0], f[1]));\r\n break;\r\n case THREE.PathActions.QUADRATIC_CURVE_TO:\r\n h = f[2];\r\n i = f[3];\r\n m = f[0];\r\n n = f[1];\r\n 0 < c.length\r\n ? ((g = c[c.length - 1]), (s = g.x), (r = g.y))\r\n : ((g = this.actions[d - 1].args),\r\n (s = g[g.length - 2]),\r\n (r = g[g.length - 1]));\r\n for (f = 1; f <= a; f++)\r\n (p = f / a),\r\n (g = THREE.Shape.Utils.b2(p, s, m, h)),\r\n (p = THREE.Shape.Utils.b2(p, r, n, i)),\r\n c.push(new THREE.Vector2(g, p));\r\n break;\r\n case THREE.PathActions.BEZIER_CURVE_TO:\r\n h = f[4];\r\n i = f[5];\r\n m = f[0];\r\n n = f[1];\r\n k = f[2];\r\n l = f[3];\r\n 0 < c.length\r\n ? ((g = c[c.length - 1]), (s = g.x), (r = g.y))\r\n : ((g = this.actions[d - 1].args),\r\n (s = g[g.length - 2]),\r\n (r = g[g.length - 1]));\r\n for (f = 1; f <= a; f++)\r\n (p = f / a),\r\n (g = THREE.Shape.Utils.b3(p, s, m, k, h)),\r\n (p = THREE.Shape.Utils.b3(p, r, n, l, i)),\r\n c.push(new THREE.Vector2(g, p));\r\n break;\r\n case THREE.PathActions.CSPLINE_THRU:\r\n g = this.actions[d - 1].args;\r\n p = [new THREE.Vector2(g[g.length - 2], g[g.length - 1])];\r\n g = a * f[0].length;\r\n p = p.concat(f[0]);\r\n p = new THREE.SplineCurve(p);\r\n for (f = 1; f <= g; f++) c.push(p.getPointAt(f / g));\r\n break;\r\n case THREE.PathActions.ARC:\r\n h = f[0];\r\n i = f[1];\r\n n = f[2];\r\n k = f[3];\r\n g = f[4];\r\n m = !!f[5];\r\n s = g - k;\r\n r = 2 * a;\r\n for (f = 1; f <= r; f++)\r\n (p = f / r),\r\n m || (p = 1 - p),\r\n (p = k + p * s),\r\n (g = h + n * Math.cos(p)),\r\n (p = i + n * Math.sin(p)),\r\n c.push(new THREE.Vector2(g, p));\r\n break;\r\n case THREE.PathActions.ELLIPSE:\r\n h = f[0];\r\n i = f[1];\r\n n = f[2];\r\n l = f[3];\r\n k = f[4];\r\n g = f[5];\r\n m = !!f[6];\r\n s = g - k;\r\n r = 2 * a;\r\n for (f = 1; f <= r; f++)\r\n (p = f / r),\r\n m || (p = 1 - p),\r\n (p = k + p * s),\r\n (g = h + n * Math.cos(p)),\r\n (p = i + l * Math.sin(p)),\r\n c.push(new THREE.Vector2(g, p));\r\n }\r\n d = c[c.length - 1];\r\n 1e-10 > Math.abs(d.x - c[0].x) &&\r\n 1e-10 > Math.abs(d.y - c[0].y) &&\r\n c.splice(c.length - 1, 1);\r\n b && c.push(c[0]);\r\n return c;\r\n};\r\nTHREE.Path.prototype.toShapes = function() {\r\n var a,\r\n b,\r\n c,\r\n d,\r\n e = [],\r\n f = new THREE.Path();\r\n a = 0;\r\n for (b = this.actions.length; a < b; a++)\r\n (c = this.actions[a]),\r\n (d = c.args),\r\n (c = c.action),\r\n c == THREE.PathActions.MOVE_TO &&\r\n 0 != f.actions.length &&\r\n (e.push(f), (f = new THREE.Path())),\r\n f[c].apply(f, d);\r\n 0 != f.actions.length && e.push(f);\r\n if (0 == e.length) return [];\r\n var g;\r\n d = [];\r\n a = !THREE.Shape.Utils.isClockWise(e[0].getPoints());\r\n if (1 == e.length)\r\n return (\r\n (f = e[0]),\r\n (g = new THREE.Shape()),\r\n (g.actions = f.actions),\r\n (g.curves = f.curves),\r\n d.push(g),\r\n d\r\n );\r\n if (a) {\r\n g = new THREE.Shape();\r\n a = 0;\r\n for (b = e.length; a < b; a++)\r\n (f = e[a]),\r\n THREE.Shape.Utils.isClockWise(f.getPoints())\r\n ? ((g.actions = f.actions),\r\n (g.curves = f.curves),\r\n d.push(g),\r\n (g = new THREE.Shape()))\r\n : g.holes.push(f);\r\n } else {\r\n a = 0;\r\n for (b = e.length; a < b; a++)\r\n (f = e[a]),\r\n THREE.Shape.Utils.isClockWise(f.getPoints())\r\n ? (g && d.push(g),\r\n (g = new THREE.Shape()),\r\n (g.actions = f.actions),\r\n (g.curves = f.curves))\r\n : g.holes.push(f);\r\n d.push(g);\r\n }\r\n return d;\r\n};\r\nTHREE.Shape = function() {\r\n THREE.Path.apply(this, arguments);\r\n this.holes = [];\r\n};\r\nTHREE.Shape.prototype = Object.create(THREE.Path.prototype);\r\nTHREE.Shape.prototype.extrude = function(a) {\r\n return new THREE.ExtrudeGeometry(this, a);\r\n};\r\nTHREE.Shape.prototype.makeGeometry = function(a) {\r\n return new THREE.ShapeGeometry(this, a);\r\n};\r\nTHREE.Shape.prototype.getPointsHoles = function(a) {\r\n var b,\r\n c = this.holes.length,\r\n d = [];\r\n for (b = 0; b < c; b++)\r\n d[b] = this.holes[b].getTransformedPoints(a, this.bends);\r\n return d;\r\n};\r\nTHREE.Shape.prototype.getSpacedPointsHoles = function(a) {\r\n var b,\r\n c = this.holes.length,\r\n d = [];\r\n for (b = 0; b < c; b++)\r\n d[b] = this.holes[b].getTransformedSpacedPoints(a, this.bends);\r\n return d;\r\n};\r\nTHREE.Shape.prototype.extractAllPoints = function(a) {\r\n return { shape: this.getTransformedPoints(a), holes: this.getPointsHoles(a) };\r\n};\r\nTHREE.Shape.prototype.extractPoints = function(a) {\r\n return this.useSpacedPoints\r\n ? this.extractAllSpacedPoints(a)\r\n : this.extractAllPoints(a);\r\n};\r\nTHREE.Shape.prototype.extractAllSpacedPoints = function(a) {\r\n return {\r\n shape: this.getTransformedSpacedPoints(a),\r\n holes: this.getSpacedPointsHoles(a)\r\n };\r\n};\r\nTHREE.Shape.Utils = {\r\n removeHoles: function(a, b) {\r\n var c = a.concat(),\r\n d = c.concat(),\r\n e,\r\n f,\r\n g,\r\n h,\r\n i,\r\n k,\r\n l,\r\n m,\r\n n,\r\n s,\r\n r = [];\r\n for (i = 0; i < b.length; i++) {\r\n k = b[i];\r\n Array.prototype.push.apply(d, k);\r\n f = Number.POSITIVE_INFINITY;\r\n for (e = 0; e < k.length; e++) {\r\n n = k[e];\r\n s = [];\r\n for (m = 0; m < c.length; m++)\r\n (l = c[m]),\r\n (l = n.distanceToSquared(l)),\r\n s.push(l),\r\n l < f && ((f = l), (g = e), (h = m));\r\n }\r\n e = 0 <= h - 1 ? h - 1 : c.length - 1;\r\n f = 0 <= g - 1 ? g - 1 : k.length - 1;\r\n var p = [k[g], c[h], c[e]];\r\n m = THREE.FontUtils.Triangulate.area(p);\r\n var q = [k[g], k[f], c[h]];\r\n n = THREE.FontUtils.Triangulate.area(q);\r\n s = h;\r\n l = g;\r\n h += 1;\r\n g += -1;\r\n 0 > h && (h += c.length);\r\n h %= c.length;\r\n 0 > g && (g += k.length);\r\n g %= k.length;\r\n e = 0 <= h - 1 ? h - 1 : c.length - 1;\r\n f = 0 <= g - 1 ? g - 1 : k.length - 1;\r\n p = [k[g], c[h], c[e]];\r\n p = THREE.FontUtils.Triangulate.area(p);\r\n q = [k[g], k[f], c[h]];\r\n q = THREE.FontUtils.Triangulate.area(q);\r\n m + n > p + q &&\r\n ((h = s),\r\n (g = l),\r\n 0 > h && (h += c.length),\r\n (h %= c.length),\r\n 0 > g && (g += k.length),\r\n (g %= k.length),\r\n (e = 0 <= h - 1 ? h - 1 : c.length - 1),\r\n (f = 0 <= g - 1 ? g - 1 : k.length - 1));\r\n m = c.slice(0, h);\r\n n = c.slice(h);\r\n s = k.slice(g);\r\n l = k.slice(0, g);\r\n f = [k[g], k[f], c[h]];\r\n r.push([k[g], c[h], c[e]]);\r\n r.push(f);\r\n c = m\r\n .concat(s)\r\n .concat(l)\r\n .concat(n);\r\n }\r\n return { shape: c, isolatedPts: r, allpoints: d };\r\n },\r\n triangulateShape: function(a, b) {\r\n var c = THREE.Shape.Utils.removeHoles(a, b),\r\n d = c.allpoints,\r\n e = c.isolatedPts,\r\n c = THREE.FontUtils.Triangulate(c.shape, !1),\r\n f,\r\n g,\r\n h,\r\n i,\r\n k = {};\r\n f = 0;\r\n for (g = d.length; f < g; f++)\r\n (i = d[f].x + \":\" + d[f].y),\r\n void 0 !== k[i] && console.log(\"Duplicate point\", i),\r\n (k[i] = f);\r\n f = 0;\r\n for (g = c.length; f < g; f++) {\r\n h = c[f];\r\n for (d = 0; 3 > d; d++)\r\n (i = h[d].x + \":\" + h[d].y), (i = k[i]), void 0 !== i && (h[d] = i);\r\n }\r\n f = 0;\r\n for (g = e.length; f < g; f++) {\r\n h = e[f];\r\n for (d = 0; 3 > d; d++)\r\n (i = h[d].x + \":\" + h[d].y), (i = k[i]), void 0 !== i && (h[d] = i);\r\n }\r\n return c.concat(e);\r\n },\r\n isClockWise: function(a) {\r\n return 0 > THREE.FontUtils.Triangulate.area(a);\r\n },\r\n b2p0: function(a, b) {\r\n var c = 1 - a;\r\n return c * c * b;\r\n },\r\n b2p1: function(a, b) {\r\n return 2 * (1 - a) * a * b;\r\n },\r\n b2p2: function(a, b) {\r\n return a * a * b;\r\n },\r\n b2: function(a, b, c, d) {\r\n return this.b2p0(a, b) + this.b2p1(a, c) + this.b2p2(a, d);\r\n },\r\n b3p0: function(a, b) {\r\n var c = 1 - a;\r\n return c * c * c * b;\r\n },\r\n b3p1: function(a, b) {\r\n var c = 1 - a;\r\n return 3 * c * c * a * b;\r\n },\r\n b3p2: function(a, b) {\r\n return 3 * (1 - a) * a * a * b;\r\n },\r\n b3p3: function(a, b) {\r\n return a * a * a * b;\r\n },\r\n b3: function(a, b, c, d, e) {\r\n return (\r\n this.b3p0(a, b) + this.b3p1(a, c) + this.b3p2(a, d) + this.b3p3(a, e)\r\n );\r\n }\r\n};\r\nTHREE.AnimationHandler = (function() {\r\n var a = [],\r\n b = {},\r\n c = {\r\n update: function(b) {\r\n for (var c = 0; c < a.length; c++) a[c].update(b);\r\n },\r\n addToUpdate: function(b) {\r\n -1 === a.indexOf(b) && a.push(b);\r\n },\r\n removeFromUpdate: function(b) {\r\n b = a.indexOf(b);\r\n -1 !== b && a.splice(b, 1);\r\n },\r\n add: function(a) {\r\n void 0 !== b[a.name] &&\r\n console.log(\r\n \"THREE.AnimationHandler.add: Warning! \" +\r\n a.name +\r\n \" already exists in library. Overwriting.\"\r\n );\r\n b[a.name] = a;\r\n if (!0 !== a.initialized) {\r\n for (var c = 0; c < a.hierarchy.length; c++) {\r\n for (var d = 0; d < a.hierarchy[c].keys.length; d++)\r\n if (\r\n (0 > a.hierarchy[c].keys[d].time &&\r\n (a.hierarchy[c].keys[d].time = 0),\r\n void 0 !== a.hierarchy[c].keys[d].rot &&\r\n !(a.hierarchy[c].keys[d].rot instanceof THREE.Quaternion))\r\n ) {\r\n var h = a.hierarchy[c].keys[d].rot;\r\n a.hierarchy[c].keys[d].rot = new THREE.Quaternion(\r\n h[0],\r\n h[1],\r\n h[2],\r\n h[3]\r\n );\r\n }\r\n if (\r\n a.hierarchy[c].keys.length &&\r\n void 0 !== a.hierarchy[c].keys[0].morphTargets\r\n ) {\r\n h = {};\r\n for (d = 0; d < a.hierarchy[c].keys.length; d++)\r\n for (\r\n var i = 0;\r\n i < a.hierarchy[c].keys[d].morphTargets.length;\r\n i++\r\n ) {\r\n var k = a.hierarchy[c].keys[d].morphTargets[i];\r\n h[k] = -1;\r\n }\r\n a.hierarchy[c].usedMorphTargets = h;\r\n for (d = 0; d < a.hierarchy[c].keys.length; d++) {\r\n var l = {};\r\n for (k in h) {\r\n for (\r\n i = 0;\r\n i < a.hierarchy[c].keys[d].morphTargets.length;\r\n i++\r\n )\r\n if (a.hierarchy[c].keys[d].morphTargets[i] === k) {\r\n l[k] = a.hierarchy[c].keys[d].morphTargetsInfluences[i];\r\n break;\r\n }\r\n i === a.hierarchy[c].keys[d].morphTargets.length &&\r\n (l[k] = 0);\r\n }\r\n a.hierarchy[c].keys[d].morphTargetsInfluences = l;\r\n }\r\n }\r\n for (d = 1; d < a.hierarchy[c].keys.length; d++)\r\n a.hierarchy[c].keys[d].time === a.hierarchy[c].keys[d - 1].time &&\r\n (a.hierarchy[c].keys.splice(d, 1), d--);\r\n for (d = 0; d < a.hierarchy[c].keys.length; d++)\r\n a.hierarchy[c].keys[d].index = d;\r\n }\r\n d = parseInt(a.length * a.fps, 10);\r\n a.JIT = {};\r\n a.JIT.hierarchy = [];\r\n for (c = 0; c < a.hierarchy.length; c++)\r\n a.JIT.hierarchy.push(Array(d));\r\n a.initialized = !0;\r\n }\r\n },\r\n get: function(a) {\r\n if (\"string\" === typeof a) {\r\n if (b[a]) return b[a];\r\n console.log(\r\n \"THREE.AnimationHandler.get: Couldn't find animation \" + a\r\n );\r\n return null;\r\n }\r\n },\r\n parse: function(a) {\r\n var b = [];\r\n if (a instanceof THREE.SkinnedMesh)\r\n for (var c = 0; c < a.bones.length; c++) b.push(a.bones[c]);\r\n else d(a, b);\r\n return b;\r\n }\r\n },\r\n d = function(a, b) {\r\n b.push(a);\r\n for (var c = 0; c < a.children.length; c++) d(a.children[c], b);\r\n };\r\n c.LINEAR = 0;\r\n c.CATMULLROM = 1;\r\n c.CATMULLROM_FORWARD = 2;\r\n return c;\r\n})();\r\nTHREE.Animation = function(a, b, c) {\r\n this.root = a;\r\n this.data = THREE.AnimationHandler.get(b);\r\n this.hierarchy = THREE.AnimationHandler.parse(a);\r\n this.currentTime = 0;\r\n this.timeScale = 1;\r\n this.isPlaying = !1;\r\n this.loop = this.isPaused = !0;\r\n this.interpolationType = void 0 !== c ? c : THREE.AnimationHandler.LINEAR;\r\n this.points = [];\r\n this.target = new THREE.Vector3();\r\n};\r\nTHREE.Animation.prototype.play = function(a, b) {\r\n if (!1 === this.isPlaying) {\r\n this.isPlaying = !0;\r\n this.loop = void 0 !== a ? a : !0;\r\n this.currentTime = void 0 !== b ? b : 0;\r\n var c,\r\n d = this.hierarchy.length,\r\n e;\r\n for (c = 0; c < d; c++) {\r\n e = this.hierarchy[c];\r\n this.interpolationType !== THREE.AnimationHandler.CATMULLROM_FORWARD &&\r\n (e.useQuaternion = !0);\r\n e.matrixAutoUpdate = !0;\r\n void 0 === e.animationCache &&\r\n ((e.animationCache = {}),\r\n (e.animationCache.prevKey = { pos: 0, rot: 0, scl: 0 }),\r\n (e.animationCache.nextKey = { pos: 0, rot: 0, scl: 0 }),\r\n (e.animationCache.originalMatrix =\r\n e instanceof THREE.Bone ? e.skinMatrix : e.matrix));\r\n var f = e.animationCache.prevKey;\r\n e = e.animationCache.nextKey;\r\n f.pos = this.data.hierarchy[c].keys[0];\r\n f.rot = this.data.hierarchy[c].keys[0];\r\n f.scl = this.data.hierarchy[c].keys[0];\r\n e.pos = this.getNextKeyWith(\"pos\", c, 1);\r\n e.rot = this.getNextKeyWith(\"rot\", c, 1);\r\n e.scl = this.getNextKeyWith(\"scl\", c, 1);\r\n }\r\n this.update(0);\r\n }\r\n this.isPaused = !1;\r\n THREE.AnimationHandler.addToUpdate(this);\r\n};\r\nTHREE.Animation.prototype.pause = function() {\r\n !0 === this.isPaused\r\n ? THREE.AnimationHandler.addToUpdate(this)\r\n : THREE.AnimationHandler.removeFromUpdate(this);\r\n this.isPaused = !this.isPaused;\r\n};\r\nTHREE.Animation.prototype.stop = function() {\r\n this.isPaused = this.isPlaying = !1;\r\n THREE.AnimationHandler.removeFromUpdate(this);\r\n};\r\nTHREE.Animation.prototype.update = function(a) {\r\n if (!1 !== this.isPlaying) {\r\n var b = [\"pos\", \"rot\", \"scl\"],\r\n c,\r\n d,\r\n e,\r\n f,\r\n g,\r\n h,\r\n i,\r\n k,\r\n l;\r\n l = this.currentTime += a * this.timeScale;\r\n k = this.currentTime %= this.data.length;\r\n parseInt(Math.min(k * this.data.fps, this.data.length * this.data.fps), 10);\r\n for (var m = 0, n = this.hierarchy.length; m < n; m++) {\r\n a = this.hierarchy[m];\r\n i = a.animationCache;\r\n for (var s = 0; 3 > s; s++) {\r\n c = b[s];\r\n g = i.prevKey[c];\r\n h = i.nextKey[c];\r\n if (h.time <= l) {\r\n if (k < l)\r\n if (this.loop) {\r\n g = this.data.hierarchy[m].keys[0];\r\n for (h = this.getNextKeyWith(c, m, 1); h.time < k; )\r\n (g = h), (h = this.getNextKeyWith(c, m, h.index + 1));\r\n } else {\r\n this.stop();\r\n return;\r\n }\r\n else {\r\n do (g = h), (h = this.getNextKeyWith(c, m, h.index + 1));\r\n while (h.time < k);\r\n }\r\n i.prevKey[c] = g;\r\n i.nextKey[c] = h;\r\n }\r\n a.matrixAutoUpdate = !0;\r\n a.matrixWorldNeedsUpdate = !0;\r\n d = (k - g.time) / (h.time - g.time);\r\n e = g[c];\r\n f = h[c];\r\n if (0 > d || 1 < d)\r\n console.log(\r\n \"THREE.Animation.update: Warning! Scale out of bounds:\" +\r\n d +\r\n \" on bone \" +\r\n m\r\n ),\r\n (d = 0 > d ? 0 : 1);\r\n if (\"pos\" === c)\r\n if (\r\n ((c = a.position),\r\n this.interpolationType === THREE.AnimationHandler.LINEAR)\r\n )\r\n (c.x = e[0] + (f[0] - e[0]) * d),\r\n (c.y = e[1] + (f[1] - e[1]) * d),\r\n (c.z = e[2] + (f[2] - e[2]) * d);\r\n else {\r\n if (\r\n this.interpolationType === THREE.AnimationHandler.CATMULLROM ||\r\n this.interpolationType ===\r\n THREE.AnimationHandler.CATMULLROM_FORWARD\r\n )\r\n (this.points[0] = this.getPrevKeyWith(\"pos\", m, g.index - 1).pos),\r\n (this.points[1] = e),\r\n (this.points[2] = f),\r\n (this.points[3] = this.getNextKeyWith(\r\n \"pos\",\r\n m,\r\n h.index + 1\r\n ).pos),\r\n (d = 0.33 * d + 0.33),\r\n (e = this.interpolateCatmullRom(this.points, d)),\r\n (c.x = e[0]),\r\n (c.y = e[1]),\r\n (c.z = e[2]),\r\n this.interpolationType ===\r\n THREE.AnimationHandler.CATMULLROM_FORWARD &&\r\n ((d = this.interpolateCatmullRom(this.points, 1.01 * d)),\r\n this.target.set(d[0], d[1], d[2]),\r\n this.target.sub(c),\r\n (this.target.y = 0),\r\n this.target.normalize(),\r\n (d = Math.atan2(this.target.x, this.target.z)),\r\n a.rotation.set(0, d, 0));\r\n }\r\n else\r\n \"rot\" === c\r\n ? THREE.Quaternion.slerp(e, f, a.quaternion, d)\r\n : \"scl\" === c &&\r\n ((c = a.scale),\r\n (c.x = e[0] + (f[0] - e[0]) * d),\r\n (c.y = e[1] + (f[1] - e[1]) * d),\r\n (c.z = e[2] + (f[2] - e[2]) * d));\r\n }\r\n }\r\n }\r\n};\r\nTHREE.Animation.prototype.interpolateCatmullRom = function(a, b) {\r\n var c = [],\r\n d = [],\r\n e,\r\n f,\r\n g,\r\n h,\r\n i,\r\n k;\r\n e = (a.length - 1) * b;\r\n f = Math.floor(e);\r\n e -= f;\r\n c[0] = 0 === f ? f : f - 1;\r\n c[1] = f;\r\n c[2] = f > a.length - 2 ? f : f + 1;\r\n c[3] = f > a.length - 3 ? f : f + 2;\r\n f = a[c[0]];\r\n h = a[c[1]];\r\n i = a[c[2]];\r\n k = a[c[3]];\r\n c = e * e;\r\n g = e * c;\r\n d[0] = this.interpolate(f[0], h[0], i[0], k[0], e, c, g);\r\n d[1] = this.interpolate(f[1], h[1], i[1], k[1], e, c, g);\r\n d[2] = this.interpolate(f[2], h[2], i[2], k[2], e, c, g);\r\n return d;\r\n};\r\nTHREE.Animation.prototype.interpolate = function(a, b, c, d, e, f, g) {\r\n a = 0.5 * (c - a);\r\n d = 0.5 * (d - b);\r\n return (2 * (b - c) + a + d) * g + (-3 * (b - c) - 2 * a - d) * f + a * e + b;\r\n};\r\nTHREE.Animation.prototype.getNextKeyWith = function(a, b, c) {\r\n for (\r\n var d = this.data.hierarchy[b].keys,\r\n c =\r\n this.interpolationType === THREE.AnimationHandler.CATMULLROM ||\r\n this.interpolationType === THREE.AnimationHandler.CATMULLROM_FORWARD\r\n ? c < d.length - 1\r\n ? c\r\n : d.length - 1\r\n : c % d.length;\r\n c < d.length;\r\n c++\r\n )\r\n if (void 0 !== d[c][a]) return d[c];\r\n return this.data.hierarchy[b].keys[0];\r\n};\r\nTHREE.Animation.prototype.getPrevKeyWith = function(a, b, c) {\r\n for (\r\n var d = this.data.hierarchy[b].keys,\r\n c =\r\n this.interpolationType === THREE.AnimationHandler.CATMULLROM ||\r\n this.interpolationType === THREE.AnimationHandler.CATMULLROM_FORWARD\r\n ? 0 < c\r\n ? c\r\n : 0\r\n : 0 <= c\r\n ? c\r\n : c + d.length;\r\n 0 <= c;\r\n c--\r\n )\r\n if (void 0 !== d[c][a]) return d[c];\r\n return this.data.hierarchy[b].keys[d.length - 1];\r\n};\r\nTHREE.KeyFrameAnimation = function(a, b, c) {\r\n this.root = a;\r\n this.data = THREE.AnimationHandler.get(b);\r\n this.hierarchy = THREE.AnimationHandler.parse(a);\r\n this.currentTime = 0;\r\n this.timeScale = 0.001;\r\n this.isPlaying = !1;\r\n this.loop = this.isPaused = !0;\r\n this.JITCompile = void 0 !== c ? c : !0;\r\n a = 0;\r\n for (b = this.hierarchy.length; a < b; a++) {\r\n var c = this.data.hierarchy[a].sids,\r\n d = this.hierarchy[a];\r\n if (this.data.hierarchy[a].keys.length && c) {\r\n for (var e = 0; e < c.length; e++) {\r\n var f = c[e],\r\n g = this.getNextKeyWith(f, a, 0);\r\n g && g.apply(f);\r\n }\r\n d.matrixAutoUpdate = !1;\r\n this.data.hierarchy[a].node.updateMatrix();\r\n d.matrixWorldNeedsUpdate = !0;\r\n }\r\n }\r\n};\r\nTHREE.KeyFrameAnimation.prototype.play = function(a, b) {\r\n if (!this.isPlaying) {\r\n this.isPlaying = !0;\r\n this.loop = void 0 !== a ? a : !0;\r\n this.currentTime = void 0 !== b ? b : 0;\r\n this.startTimeMs = b;\r\n this.startTime = 1e7;\r\n this.endTime = -this.startTime;\r\n var c,\r\n d = this.hierarchy.length,\r\n e,\r\n f;\r\n for (c = 0; c < d; c++)\r\n (e = this.hierarchy[c]),\r\n (f = this.data.hierarchy[c]),\r\n (e.useQuaternion = !0),\r\n void 0 === f.animationCache &&\r\n ((f.animationCache = {}),\r\n (f.animationCache.prevKey = null),\r\n (f.animationCache.nextKey = null),\r\n (f.animationCache.originalMatrix =\r\n e instanceof THREE.Bone ? e.skinMatrix : e.matrix)),\r\n (e = this.data.hierarchy[c].keys),\r\n e.length &&\r\n ((f.animationCache.prevKey = e[0]),\r\n (f.animationCache.nextKey = e[1]),\r\n (this.startTime = Math.min(e[0].time, this.startTime)),\r\n (this.endTime = Math.max(e[e.length - 1].time, this.endTime)));\r\n this.update(0);\r\n }\r\n this.isPaused = !1;\r\n THREE.AnimationHandler.addToUpdate(this);\r\n};\r\nTHREE.KeyFrameAnimation.prototype.pause = function() {\r\n this.isPaused\r\n ? THREE.AnimationHandler.addToUpdate(this)\r\n : THREE.AnimationHandler.removeFromUpdate(this);\r\n this.isPaused = !this.isPaused;\r\n};\r\nTHREE.KeyFrameAnimation.prototype.stop = function() {\r\n this.isPaused = this.isPlaying = !1;\r\n THREE.AnimationHandler.removeFromUpdate(this);\r\n for (var a = 0; a < this.data.hierarchy.length; a++) {\r\n var b = this.hierarchy[a],\r\n c = this.data.hierarchy[a];\r\n if (void 0 !== c.animationCache) {\r\n var d = c.animationCache.originalMatrix;\r\n b instanceof THREE.Bone\r\n ? (d.copy(b.skinMatrix), (b.skinMatrix = d))\r\n : (d.copy(b.matrix), (b.matrix = d));\r\n delete c.animationCache;\r\n }\r\n }\r\n};\r\nTHREE.KeyFrameAnimation.prototype.update = function(a) {\r\n if (this.isPlaying) {\r\n var b,\r\n c,\r\n d,\r\n e,\r\n f = this.data.JIT.hierarchy,\r\n g,\r\n h,\r\n i;\r\n h = this.currentTime += a * this.timeScale;\r\n g = this.currentTime %= this.data.length;\r\n g < this.startTimeMs && (g = this.currentTime = this.startTimeMs + g);\r\n e = parseInt(\r\n Math.min(g * this.data.fps, this.data.length * this.data.fps),\r\n 10\r\n );\r\n if ((i = g < h) && !this.loop) {\r\n for (var a = 0, k = this.hierarchy.length; a < k; a++) {\r\n var l = this.data.hierarchy[a].keys,\r\n f = this.data.hierarchy[a].sids;\r\n d = l.length - 1;\r\n e = this.hierarchy[a];\r\n if (l.length) {\r\n for (l = 0; l < f.length; l++)\r\n (g = f[l]), (h = this.getPrevKeyWith(g, a, d)) && h.apply(g);\r\n this.data.hierarchy[a].node.updateMatrix();\r\n e.matrixWorldNeedsUpdate = !0;\r\n }\r\n }\r\n this.stop();\r\n } else if (!(g < this.startTime)) {\r\n a = 0;\r\n for (k = this.hierarchy.length; a < k; a++) {\r\n d = this.hierarchy[a];\r\n b = this.data.hierarchy[a];\r\n var l = b.keys,\r\n m = b.animationCache;\r\n if (this.JITCompile && void 0 !== f[a][e])\r\n d instanceof THREE.Bone\r\n ? ((d.skinMatrix = f[a][e]), (d.matrixWorldNeedsUpdate = !1))\r\n : ((d.matrix = f[a][e]), (d.matrixWorldNeedsUpdate = !0));\r\n else if (l.length) {\r\n this.JITCompile &&\r\n m &&\r\n (d instanceof THREE.Bone\r\n ? (d.skinMatrix = m.originalMatrix)\r\n : (d.matrix = m.originalMatrix));\r\n b = m.prevKey;\r\n c = m.nextKey;\r\n if (b && c) {\r\n if (c.time <= h) {\r\n if (i && this.loop) {\r\n b = l[0];\r\n for (c = l[1]; c.time < g; ) (b = c), (c = l[b.index + 1]);\r\n } else if (!i)\r\n for (var n = l.length - 1; c.time < g && c.index !== n; )\r\n (b = c), (c = l[b.index + 1]);\r\n m.prevKey = b;\r\n m.nextKey = c;\r\n }\r\n c.time >= g ? b.interpolate(c, g) : b.interpolate(c, c.time);\r\n }\r\n this.data.hierarchy[a].node.updateMatrix();\r\n d.matrixWorldNeedsUpdate = !0;\r\n }\r\n }\r\n if (this.JITCompile && void 0 === f[0][e]) {\r\n this.hierarchy[0].updateMatrixWorld(!0);\r\n for (a = 0; a < this.hierarchy.length; a++)\r\n f[a][e] =\r\n this.hierarchy[a] instanceof THREE.Bone\r\n ? this.hierarchy[a].skinMatrix.clone()\r\n : this.hierarchy[a].matrix.clone();\r\n }\r\n }\r\n }\r\n};\r\nTHREE.KeyFrameAnimation.prototype.getNextKeyWith = function(a, b, c) {\r\n b = this.data.hierarchy[b].keys;\r\n for (c %= b.length; c < b.length; c++) if (b[c].hasTarget(a)) return b[c];\r\n return b[0];\r\n};\r\nTHREE.KeyFrameAnimation.prototype.getPrevKeyWith = function(a, b, c) {\r\n b = this.data.hierarchy[b].keys;\r\n for (c = 0 <= c ? c : c + b.length; 0 <= c; c--)\r\n if (b[c].hasTarget(a)) return b[c];\r\n return b[b.length - 1];\r\n};\r\nTHREE.CubeCamera = function(a, b, c) {\r\n THREE.Object3D.call(this);\r\n var d = new THREE.PerspectiveCamera(90, 1, a, b);\r\n d.up.set(0, -1, 0);\r\n d.lookAt(new THREE.Vector3(1, 0, 0));\r\n this.add(d);\r\n var e = new THREE.PerspectiveCamera(90, 1, a, b);\r\n e.up.set(0, -1, 0);\r\n e.lookAt(new THREE.Vector3(-1, 0, 0));\r\n this.add(e);\r\n var f = new THREE.PerspectiveCamera(90, 1, a, b);\r\n f.up.set(0, 0, 1);\r\n f.lookAt(new THREE.Vector3(0, 1, 0));\r\n this.add(f);\r\n var g = new THREE.PerspectiveCamera(90, 1, a, b);\r\n g.up.set(0, 0, -1);\r\n g.lookAt(new THREE.Vector3(0, -1, 0));\r\n this.add(g);\r\n var h = new THREE.PerspectiveCamera(90, 1, a, b);\r\n h.up.set(0, -1, 0);\r\n h.lookAt(new THREE.Vector3(0, 0, 1));\r\n this.add(h);\r\n var i = new THREE.PerspectiveCamera(90, 1, a, b);\r\n i.up.set(0, -1, 0);\r\n i.lookAt(new THREE.Vector3(0, 0, -1));\r\n this.add(i);\r\n this.renderTarget = new THREE.WebGLRenderTargetCube(c, c, {\r\n format: THREE.RGBFormat,\r\n magFilter: THREE.LinearFilter,\r\n minFilter: THREE.LinearFilter\r\n });\r\n this.updateCubeMap = function(a, b) {\r\n var c = this.renderTarget,\r\n n = c.generateMipmaps;\r\n c.generateMipmaps = !1;\r\n c.activeCubeFace = 0;\r\n a.render(b, d, c);\r\n c.activeCubeFace = 1;\r\n a.render(b, e, c);\r\n c.activeCubeFace = 2;\r\n a.render(b, f, c);\r\n c.activeCubeFace = 3;\r\n a.render(b, g, c);\r\n c.activeCubeFace = 4;\r\n a.render(b, h, c);\r\n c.generateMipmaps = n;\r\n c.activeCubeFace = 5;\r\n a.render(b, i, c);\r\n };\r\n};\r\nTHREE.CubeCamera.prototype = Object.create(THREE.Object3D.prototype);\r\nTHREE.CombinedCamera = function(a, b, c, d, e, f, g) {\r\n THREE.Camera.call(this);\r\n this.fov = c;\r\n this.left = -a / 2;\r\n this.right = a / 2;\r\n this.top = b / 2;\r\n this.bottom = -b / 2;\r\n this.cameraO = new THREE.OrthographicCamera(\r\n a / -2,\r\n a / 2,\r\n b / 2,\r\n b / -2,\r\n f,\r\n g\r\n );\r\n this.cameraP = new THREE.PerspectiveCamera(c, a / b, d, e);\r\n this.zoom = 1;\r\n this.toPerspective();\r\n};\r\nTHREE.CombinedCamera.prototype = Object.create(THREE.Camera.prototype);\r\nTHREE.CombinedCamera.prototype.toPerspective = function() {\r\n this.near = this.cameraP.near;\r\n this.far = this.cameraP.far;\r\n this.cameraP.fov = this.fov / this.zoom;\r\n this.cameraP.updateProjectionMatrix();\r\n this.projectionMatrix = this.cameraP.projectionMatrix;\r\n this.inPerspectiveMode = !0;\r\n this.inOrthographicMode = !1;\r\n};\r\nTHREE.CombinedCamera.prototype.toOrthographic = function() {\r\n var a = this.cameraP.aspect,\r\n b = (this.cameraP.near + this.cameraP.far) / 2,\r\n b = Math.tan(this.fov / 2) * b,\r\n a = (2 * b * a) / 2,\r\n b = b / this.zoom,\r\n a = a / this.zoom;\r\n this.cameraO.left = -a;\r\n this.cameraO.right = a;\r\n this.cameraO.top = b;\r\n this.cameraO.bottom = -b;\r\n this.cameraO.updateProjectionMatrix();\r\n this.near = this.cameraO.near;\r\n this.far = this.cameraO.far;\r\n this.projectionMatrix = this.cameraO.projectionMatrix;\r\n this.inPerspectiveMode = !1;\r\n this.inOrthographicMode = !0;\r\n};\r\nTHREE.CombinedCamera.prototype.setSize = function(a, b) {\r\n this.cameraP.aspect = a / b;\r\n this.left = -a / 2;\r\n this.right = a / 2;\r\n this.top = b / 2;\r\n this.bottom = -b / 2;\r\n};\r\nTHREE.CombinedCamera.prototype.setFov = function(a) {\r\n this.fov = a;\r\n this.inPerspectiveMode ? this.toPerspective() : this.toOrthographic();\r\n};\r\nTHREE.CombinedCamera.prototype.updateProjectionMatrix = function() {\r\n this.inPerspectiveMode\r\n ? this.toPerspective()\r\n : (this.toPerspective(), this.toOrthographic());\r\n};\r\nTHREE.CombinedCamera.prototype.setLens = function(a, b) {\r\n void 0 === b && (b = 24);\r\n var c = 2 * THREE.Math.radToDeg(Math.atan(b / (2 * a)));\r\n this.setFov(c);\r\n return c;\r\n};\r\nTHREE.CombinedCamera.prototype.setZoom = function(a) {\r\n this.zoom = a;\r\n this.inPerspectiveMode ? this.toPerspective() : this.toOrthographic();\r\n};\r\nTHREE.CombinedCamera.prototype.toFrontView = function() {\r\n this.rotation.x = 0;\r\n this.rotation.y = 0;\r\n this.rotation.z = 0;\r\n this.rotationAutoUpdate = !1;\r\n};\r\nTHREE.CombinedCamera.prototype.toBackView = function() {\r\n this.rotation.x = 0;\r\n this.rotation.y = Math.PI;\r\n this.rotation.z = 0;\r\n this.rotationAutoUpdate = !1;\r\n};\r\nTHREE.CombinedCamera.prototype.toLeftView = function() {\r\n this.rotation.x = 0;\r\n this.rotation.y = -Math.PI / 2;\r\n this.rotation.z = 0;\r\n this.rotationAutoUpdate = !1;\r\n};\r\nTHREE.CombinedCamera.prototype.toRightView = function() {\r\n this.rotation.x = 0;\r\n this.rotation.y = Math.PI / 2;\r\n this.rotation.z = 0;\r\n this.rotationAutoUpdate = !1;\r\n};\r\nTHREE.CombinedCamera.prototype.toTopView = function() {\r\n this.rotation.x = -Math.PI / 2;\r\n this.rotation.y = 0;\r\n this.rotation.z = 0;\r\n this.rotationAutoUpdate = !1;\r\n};\r\nTHREE.CombinedCamera.prototype.toBottomView = function() {\r\n this.rotation.x = Math.PI / 2;\r\n this.rotation.y = 0;\r\n this.rotation.z = 0;\r\n this.rotationAutoUpdate = !1;\r\n};\r\nTHREE.AsteriskGeometry = function(a, b) {\r\n THREE.Geometry.call(this);\r\n for (\r\n var c = 0.707 * a,\r\n d = 0.707 * b,\r\n c = [\r\n [a, 0, 0],\r\n [b, 0, 0],\r\n [-a, 0, 0],\r\n [-b, 0, 0],\r\n [0, a, 0],\r\n [0, b, 0],\r\n [0, -a, 0],\r\n [0, -b, 0],\r\n [0, 0, a],\r\n [0, 0, b],\r\n [0, 0, -a],\r\n [0, 0, -b],\r\n [c, c, 0],\r\n [d, d, 0],\r\n [-c, -c, 0],\r\n [-d, -d, 0],\r\n [c, -c, 0],\r\n [d, -d, 0],\r\n [-c, c, 0],\r\n [-d, d, 0],\r\n [c, 0, c],\r\n [d, 0, d],\r\n [-c, 0, -c],\r\n [-d, 0, -d],\r\n [c, 0, -c],\r\n [d, 0, -d],\r\n [-c, 0, c],\r\n [-d, 0, d],\r\n [0, c, c],\r\n [0, d, d],\r\n [0, -c, -c],\r\n [0, -d, -d],\r\n [0, c, -c],\r\n [0, d, -d],\r\n [0, -c, c],\r\n [0, -d, d]\r\n ],\r\n d = 0,\r\n e = c.length;\r\n d < e;\r\n d++\r\n )\r\n this.vertices.push(new THREE.Vector3(c[d][0], c[d][1], c[d][2]));\r\n};\r\nTHREE.AsteriskGeometry.prototype = Object.create(THREE.Geometry.prototype);\r\nTHREE.CircleGeometry = function(a, b, c, d) {\r\n THREE.Geometry.call(this);\r\n var a = a || 50,\r\n c = void 0 !== c ? c : 0,\r\n d = void 0 !== d ? d : 2 * Math.PI,\r\n b = void 0 !== b ? Math.max(3, b) : 8,\r\n e,\r\n f = [];\r\n e = new THREE.Vector3();\r\n var g = new THREE.Vector2(0.5, 0.5);\r\n this.vertices.push(e);\r\n f.push(g);\r\n for (e = 0; e <= b; e++) {\r\n var h = new THREE.Vector3();\r\n h.x = a * Math.cos(c + (e / b) * d);\r\n h.y = a * Math.sin(c + (e / b) * d);\r\n this.vertices.push(h);\r\n f.push(new THREE.Vector2((h.x / a + 1) / 2, -(h.y / a + 1) / 2 + 1));\r\n }\r\n c = new THREE.Vector3(0, 0, -1);\r\n for (e = 1; e <= b; e++)\r\n this.faces.push(new THREE.Face3(e, e + 1, 0, [c, c, c])),\r\n this.faceVertexUvs[0].push([f[e], f[e + 1], g]);\r\n this.computeCentroids();\r\n this.computeFaceNormals();\r\n this.boundingSphere = new THREE.Sphere(new THREE.Vector3(), a);\r\n};\r\nTHREE.CircleGeometry.prototype = Object.create(THREE.Geometry.prototype);\r\nTHREE.CubeGeometry = function(a, b, c, d, e, f) {\r\n function g(a, b, c, d, e, f, g, p) {\r\n var q,\r\n y = h.widthSegments,\r\n v = h.heightSegments,\r\n z = e / 2,\r\n t = f / 2,\r\n A = h.vertices.length;\r\n if ((\"x\" === a && \"y\" === b) || (\"y\" === a && \"x\" === b)) q = \"z\";\r\n else if ((\"x\" === a && \"z\" === b) || (\"z\" === a && \"x\" === b))\r\n (q = \"y\"), (v = h.depthSegments);\r\n else if ((\"z\" === a && \"y\" === b) || (\"y\" === a && \"z\" === b))\r\n (q = \"x\"), (y = h.depthSegments);\r\n var I = y + 1,\r\n C = v + 1,\r\n x = e / y,\r\n G = f / v,\r\n J = new THREE.Vector3();\r\n J[q] = 0 < g ? 1 : -1;\r\n for (e = 0; e < C; e++)\r\n for (f = 0; f < I; f++) {\r\n var E = new THREE.Vector3();\r\n E[a] = (f * x - z) * c;\r\n E[b] = (e * G - t) * d;\r\n E[q] = g;\r\n h.vertices.push(E);\r\n }\r\n for (e = 0; e < v; e++)\r\n for (f = 0; f < y; f++)\r\n (a = new THREE.Face4(\r\n f + I * e + A,\r\n f + I * (e + 1) + A,\r\n f + 1 + I * (e + 1) + A,\r\n f + 1 + I * e + A\r\n )),\r\n a.normal.copy(J),\r\n a.vertexNormals.push(J.clone(), J.clone(), J.clone(), J.clone()),\r\n (a.materialIndex = p),\r\n h.faces.push(a),\r\n h.faceVertexUvs[0].push([\r\n new THREE.Vector2(f / y, 1 - e / v),\r\n new THREE.Vector2(f / y, 1 - (e + 1) / v),\r\n new THREE.Vector2((f + 1) / y, 1 - (e + 1) / v),\r\n new THREE.Vector2((f + 1) / y, 1 - e / v)\r\n ]);\r\n }\r\n THREE.Geometry.call(this);\r\n var h = this;\r\n this.width = a;\r\n this.height = b;\r\n this.depth = c;\r\n this.widthSegments = d || 1;\r\n this.heightSegments = e || 1;\r\n this.depthSegments = f || 1;\r\n a = this.width / 2;\r\n b = this.height / 2;\r\n c = this.depth / 2;\r\n g(\"z\", \"y\", -1, -1, this.depth, this.height, a, 0);\r\n g(\"z\", \"y\", 1, -1, this.depth, this.height, -a, 1);\r\n g(\"x\", \"z\", 1, 1, this.width, this.depth, b, 2);\r\n g(\"x\", \"z\", 1, -1, this.width, this.depth, -b, 3);\r\n g(\"x\", \"y\", 1, -1, this.width, this.height, c, 4);\r\n g(\"x\", \"y\", -1, -1, this.width, this.height, -c, 5);\r\n this.computeCentroids();\r\n this.mergeVertices();\r\n};\r\nTHREE.CubeGeometry.prototype = Object.create(THREE.Geometry.prototype);\r\nTHREE.CylinderGeometry = function(a, b, c, d, e, f) {\r\n THREE.Geometry.call(this);\r\n var a = void 0 !== a ? a : 20,\r\n b = void 0 !== b ? b : 20,\r\n c = void 0 !== c ? c : 100,\r\n g = c / 2,\r\n d = d || 8,\r\n e = e || 1,\r\n h,\r\n i,\r\n k = [],\r\n l = [];\r\n for (i = 0; i <= e; i++) {\r\n var m = [],\r\n n = [],\r\n s = i / e,\r\n r = s * (b - a) + a;\r\n for (h = 0; h <= d; h++) {\r\n var p = h / d,\r\n q = new THREE.Vector3();\r\n q.x = r * Math.sin(2 * p * Math.PI);\r\n q.y = -s * c + g;\r\n q.z = r * Math.cos(2 * p * Math.PI);\r\n this.vertices.push(q);\r\n m.push(this.vertices.length - 1);\r\n n.push(new THREE.Vector2(p, 1 - s));\r\n }\r\n k.push(m);\r\n l.push(n);\r\n }\r\n c = (b - a) / c;\r\n for (h = 0; h < d; h++) {\r\n 0 !== a\r\n ? ((m = this.vertices[k[0][h]].clone()),\r\n (n = this.vertices[k[0][h + 1]].clone()))\r\n : ((m = this.vertices[k[1][h]].clone()),\r\n (n = this.vertices[k[1][h + 1]].clone()));\r\n m.setY(Math.sqrt(m.x * m.x + m.z * m.z) * c).normalize();\r\n n.setY(Math.sqrt(n.x * n.x + n.z * n.z) * c).normalize();\r\n for (i = 0; i < e; i++) {\r\n var s = k[i][h],\r\n r = k[i + 1][h],\r\n p = k[i + 1][h + 1],\r\n q = k[i][h + 1],\r\n y = m.clone(),\r\n v = m.clone(),\r\n z = n.clone(),\r\n t = n.clone(),\r\n A = l[i][h].clone(),\r\n I = l[i + 1][h].clone(),\r\n C = l[i + 1][h + 1].clone(),\r\n x = l[i][h + 1].clone();\r\n this.faces.push(new THREE.Face4(s, r, p, q, [y, v, z, t]));\r\n this.faceVertexUvs[0].push([A, I, C, x]);\r\n }\r\n }\r\n if (!f && 0 < a) {\r\n this.vertices.push(new THREE.Vector3(0, g, 0));\r\n for (h = 0; h < d; h++)\r\n (s = k[0][h]),\r\n (r = k[0][h + 1]),\r\n (p = this.vertices.length - 1),\r\n (y = new THREE.Vector3(0, 1, 0)),\r\n (v = new THREE.Vector3(0, 1, 0)),\r\n (z = new THREE.Vector3(0, 1, 0)),\r\n (A = l[0][h].clone()),\r\n (I = l[0][h + 1].clone()),\r\n (C = new THREE.Vector2(I.u, 0)),\r\n this.faces.push(new THREE.Face3(s, r, p, [y, v, z])),\r\n this.faceVertexUvs[0].push([A, I, C]);\r\n }\r\n if (!f && 0 < b) {\r\n this.vertices.push(new THREE.Vector3(0, -g, 0));\r\n for (h = 0; h < d; h++)\r\n (s = k[i][h + 1]),\r\n (r = k[i][h]),\r\n (p = this.vertices.length - 1),\r\n (y = new THREE.Vector3(0, -1, 0)),\r\n (v = new THREE.Vector3(0, -1, 0)),\r\n (z = new THREE.Vector3(0, -1, 0)),\r\n (A = l[i][h + 1].clone()),\r\n (I = l[i][h].clone()),\r\n (C = new THREE.Vector2(I.u, 1)),\r\n this.faces.push(new THREE.Face3(s, r, p, [y, v, z])),\r\n this.faceVertexUvs[0].push([A, I, C]);\r\n }\r\n this.computeCentroids();\r\n this.computeFaceNormals();\r\n};\r\nTHREE.CylinderGeometry.prototype = Object.create(THREE.Geometry.prototype);\r\nTHREE.ExtrudeGeometry = function(a, b) {\r\n \"undefined\" !== typeof a &&\r\n (THREE.Geometry.call(this),\r\n (a = a instanceof Array ? a : [a]),\r\n (this.shapebb = a[a.length - 1].getBoundingBox()),\r\n this.addShapeList(a, b),\r\n this.computeCentroids(),\r\n this.computeFaceNormals());\r\n};\r\nTHREE.ExtrudeGeometry.prototype = Object.create(THREE.Geometry.prototype);\r\nTHREE.ExtrudeGeometry.prototype.addShapeList = function(a, b) {\r\n for (var c = a.length, d = 0; d < c; d++) this.addShape(a[d], b);\r\n};\r\nTHREE.ExtrudeGeometry.prototype.addShape = function(a, b) {\r\n function c(a, b, c) {\r\n b || console.log(\"die\");\r\n return b\r\n .clone()\r\n .multiplyScalar(c)\r\n .add(a);\r\n }\r\n function d(a, b, c) {\r\n var d = THREE.ExtrudeGeometry.__v1,\r\n e = THREE.ExtrudeGeometry.__v2,\r\n f = THREE.ExtrudeGeometry.__v3,\r\n g = THREE.ExtrudeGeometry.__v4,\r\n i = THREE.ExtrudeGeometry.__v5,\r\n h = THREE.ExtrudeGeometry.__v6;\r\n d.set(a.x - b.x, a.y - b.y);\r\n e.set(a.x - c.x, a.y - c.y);\r\n d = d.normalize();\r\n e = e.normalize();\r\n f.set(-d.y, d.x);\r\n g.set(e.y, -e.x);\r\n i.copy(a).add(f);\r\n h.copy(a).add(g);\r\n if (i.equals(h)) return g.clone();\r\n i.copy(b).add(f);\r\n h.copy(c).add(g);\r\n f = d.dot(g);\r\n g = h.sub(i).dot(g);\r\n 0 === f &&\r\n (console.log(\"Either infinite or no solutions!\"),\r\n 0 === g\r\n ? console.log(\"Its finite solutions.\")\r\n : console.log(\"Too bad, no solutions.\"));\r\n g /= f;\r\n return 0 > g\r\n ? ((b = Math.atan2(b.y - a.y, b.x - a.x)),\r\n (a = Math.atan2(c.y - a.y, c.x - a.x)),\r\n b > a && (a += 2 * Math.PI),\r\n (c = (b + a) / 2),\r\n (a = -Math.cos(c)),\r\n (c = -Math.sin(c)),\r\n new THREE.Vector2(a, c))\r\n : d\r\n .multiplyScalar(g)\r\n .add(i)\r\n .sub(a)\r\n .clone();\r\n }\r\n function e(c, d) {\r\n var e, f;\r\n for (M = c.length; 0 <= --M; ) {\r\n e = M;\r\n f = M - 1;\r\n 0 > f && (f = c.length - 1);\r\n for (var g = 0, i = s + 2 * l, g = 0; g < i; g++) {\r\n var h = fa * g,\r\n k = fa * (g + 1),\r\n m = d + e + h,\r\n h = d + f + h,\r\n n = d + f + k,\r\n k = d + e + k,\r\n p = c,\r\n q = g,\r\n r = i,\r\n t = e,\r\n y = f,\r\n m = m + H,\r\n h = h + H,\r\n n = n + H,\r\n k = k + H;\r\n E.faces.push(new THREE.Face4(m, h, n, k, null, null, v));\r\n m = z.generateSideWallUV(E, a, p, b, m, h, n, k, q, r, t, y);\r\n E.faceVertexUvs[0].push(m);\r\n }\r\n }\r\n }\r\n function f(a, b, c) {\r\n E.vertices.push(new THREE.Vector3(a, b, c));\r\n }\r\n function g(c, d, e, f) {\r\n c += H;\r\n d += H;\r\n e += H;\r\n E.faces.push(new THREE.Face3(c, d, e, null, null, y));\r\n c = f\r\n ? z.generateBottomUV(E, a, b, c, d, e)\r\n : z.generateTopUV(E, a, b, c, d, e);\r\n E.faceVertexUvs[0].push(c);\r\n }\r\n var h = void 0 !== b.amount ? b.amount : 100,\r\n i = void 0 !== b.bevelThickness ? b.bevelThickness : 6,\r\n k = void 0 !== b.bevelSize ? b.bevelSize : i - 2,\r\n l = void 0 !== b.bevelSegments ? b.bevelSegments : 3,\r\n m = void 0 !== b.bevelEnabled ? b.bevelEnabled : !0,\r\n n = void 0 !== b.curveSegments ? b.curveSegments : 12,\r\n s = void 0 !== b.steps ? b.steps : 1,\r\n r = b.extrudePath,\r\n p,\r\n q = !1,\r\n y = b.material,\r\n v = b.extrudeMaterial,\r\n z =\r\n void 0 !== b.UVGenerator\r\n ? b.UVGenerator\r\n : THREE.ExtrudeGeometry.WorldUVGenerator,\r\n t,\r\n A,\r\n I,\r\n C;\r\n r &&\r\n ((p = r.getSpacedPoints(s)),\r\n (q = !0),\r\n (m = !1),\r\n (t =\r\n void 0 !== b.frames\r\n ? b.frames\r\n : new THREE.TubeGeometry.FrenetFrames(r, s, !1)),\r\n (A = new THREE.Vector3()),\r\n (I = new THREE.Vector3()),\r\n (C = new THREE.Vector3()));\r\n m || (k = i = l = 0);\r\n var x,\r\n G,\r\n J,\r\n E = this,\r\n H = this.vertices.length,\r\n n = a.extractPoints(n),\r\n B = n.shape,\r\n n = n.holes;\r\n if ((r = !THREE.Shape.Utils.isClockWise(B))) {\r\n B = B.reverse();\r\n G = 0;\r\n for (J = n.length; G < J; G++)\r\n (x = n[G]), THREE.Shape.Utils.isClockWise(x) && (n[G] = x.reverse());\r\n r = !1;\r\n }\r\n var W = THREE.Shape.Utils.triangulateShape(B, n),\r\n r = B;\r\n G = 0;\r\n for (J = n.length; G < J; G++) (x = n[G]), (B = B.concat(x));\r\n var F,\r\n K,\r\n L,\r\n U,\r\n fa = B.length,\r\n Ca = W.length,\r\n $a = [],\r\n M = 0,\r\n ca = r.length;\r\n F = ca - 1;\r\n for (K = M + 1; M < ca; M++, F++, K++)\r\n F === ca && (F = 0), K === ca && (K = 0), ($a[M] = d(r[M], r[F], r[K]));\r\n var qa = [],\r\n ha,\r\n ra = $a.concat();\r\n G = 0;\r\n for (J = n.length; G < J; G++) {\r\n x = n[G];\r\n ha = [];\r\n M = 0;\r\n ca = x.length;\r\n F = ca - 1;\r\n for (K = M + 1; M < ca; M++, F++, K++)\r\n F === ca && (F = 0), K === ca && (K = 0), (ha[M] = d(x[M], x[F], x[K]));\r\n qa.push(ha);\r\n ra = ra.concat(ha);\r\n }\r\n for (F = 0; F < l; F++) {\r\n x = F / l;\r\n L = i * (1 - x);\r\n K = k * Math.sin((x * Math.PI) / 2);\r\n M = 0;\r\n for (ca = r.length; M < ca; M++) (U = c(r[M], $a[M], K)), f(U.x, U.y, -L);\r\n G = 0;\r\n for (J = n.length; G < J; G++) {\r\n x = n[G];\r\n ha = qa[G];\r\n M = 0;\r\n for (ca = x.length; M < ca; M++) (U = c(x[M], ha[M], K)), f(U.x, U.y, -L);\r\n }\r\n }\r\n K = k;\r\n for (M = 0; M < fa; M++)\r\n (U = m ? c(B[M], ra[M], K) : B[M]),\r\n q\r\n ? (I.copy(t.normals[0]).multiplyScalar(U.x),\r\n A.copy(t.binormals[0]).multiplyScalar(U.y),\r\n C.copy(p[0])\r\n .add(I)\r\n .add(A),\r\n f(C.x, C.y, C.z))\r\n : f(U.x, U.y, 0);\r\n for (x = 1; x <= s; x++)\r\n for (M = 0; M < fa; M++)\r\n (U = m ? c(B[M], ra[M], K) : B[M]),\r\n q\r\n ? (I.copy(t.normals[x]).multiplyScalar(U.x),\r\n A.copy(t.binormals[x]).multiplyScalar(U.y),\r\n C.copy(p[x])\r\n .add(I)\r\n .add(A),\r\n f(C.x, C.y, C.z))\r\n : f(U.x, U.y, (h / s) * x);\r\n for (F = l - 1; 0 <= F; F--) {\r\n x = F / l;\r\n L = i * (1 - x);\r\n K = k * Math.sin((x * Math.PI) / 2);\r\n M = 0;\r\n for (ca = r.length; M < ca; M++)\r\n (U = c(r[M], $a[M], K)), f(U.x, U.y, h + L);\r\n G = 0;\r\n for (J = n.length; G < J; G++) {\r\n x = n[G];\r\n ha = qa[G];\r\n M = 0;\r\n for (ca = x.length; M < ca; M++)\r\n (U = c(x[M], ha[M], K)),\r\n q ? f(U.x, U.y + p[s - 1].y, p[s - 1].x + L) : f(U.x, U.y, h + L);\r\n }\r\n }\r\n if (m) {\r\n i = 0 * fa;\r\n for (M = 0; M < Ca; M++) (h = W[M]), g(h[2] + i, h[1] + i, h[0] + i, !0);\r\n i = fa * (s + 2 * l);\r\n for (M = 0; M < Ca; M++) (h = W[M]), g(h[0] + i, h[1] + i, h[2] + i, !1);\r\n } else {\r\n for (M = 0; M < Ca; M++) (h = W[M]), g(h[2], h[1], h[0], !0);\r\n for (M = 0; M < Ca; M++)\r\n (h = W[M]), g(h[0] + fa * s, h[1] + fa * s, h[2] + fa * s, !1);\r\n }\r\n h = 0;\r\n e(r, h);\r\n h += r.length;\r\n G = 0;\r\n for (J = n.length; G < J; G++) (x = n[G]), e(x, h), (h += x.length);\r\n};\r\nTHREE.ExtrudeGeometry.WorldUVGenerator = {\r\n generateTopUV: function(a, b, c, d, e, f) {\r\n b = a.vertices[e].x;\r\n e = a.vertices[e].y;\r\n c = a.vertices[f].x;\r\n f = a.vertices[f].y;\r\n return [\r\n new THREE.Vector2(a.vertices[d].x, a.vertices[d].y),\r\n new THREE.Vector2(b, e),\r\n new THREE.Vector2(c, f)\r\n ];\r\n },\r\n generateBottomUV: function(a, b, c, d, e, f) {\r\n return this.generateTopUV(a, b, c, d, e, f);\r\n },\r\n generateSideWallUV: function(a, b, c, d, e, f, g, h) {\r\n var b = a.vertices[e].x,\r\n c = a.vertices[e].y,\r\n e = a.vertices[e].z,\r\n d = a.vertices[f].x,\r\n i = a.vertices[f].y,\r\n f = a.vertices[f].z,\r\n k = a.vertices[g].x,\r\n l = a.vertices[g].y,\r\n g = a.vertices[g].z,\r\n m = a.vertices[h].x,\r\n n = a.vertices[h].y,\r\n a = a.vertices[h].z;\r\n return 0.01 > Math.abs(c - i)\r\n ? [\r\n new THREE.Vector2(b, 1 - e),\r\n new THREE.Vector2(d, 1 - f),\r\n new THREE.Vector2(k, 1 - g),\r\n new THREE.Vector2(m, 1 - a)\r\n ]\r\n : [\r\n new THREE.Vector2(c, 1 - e),\r\n new THREE.Vector2(i, 1 - f),\r\n new THREE.Vector2(l, 1 - g),\r\n new THREE.Vector2(n, 1 - a)\r\n ];\r\n }\r\n};\r\nTHREE.ExtrudeGeometry.__v1 = new THREE.Vector2();\r\nTHREE.ExtrudeGeometry.__v2 = new THREE.Vector2();\r\nTHREE.ExtrudeGeometry.__v3 = new THREE.Vector2();\r\nTHREE.ExtrudeGeometry.__v4 = new THREE.Vector2();\r\nTHREE.ExtrudeGeometry.__v5 = new THREE.Vector2();\r\nTHREE.ExtrudeGeometry.__v6 = new THREE.Vector2();\r\nTHREE.ShapeGeometry = function(a, b) {\r\n THREE.Geometry.call(this);\r\n !1 === a instanceof Array && (a = [a]);\r\n this.shapebb = a[a.length - 1].getBoundingBox();\r\n this.addShapeList(a, b);\r\n this.computeCentroids();\r\n this.computeFaceNormals();\r\n};\r\nTHREE.ShapeGeometry.prototype = Object.create(THREE.Geometry.prototype);\r\nTHREE.ShapeGeometry.prototype.addShapeList = function(a, b) {\r\n for (var c = 0, d = a.length; c < d; c++) this.addShape(a[c], b);\r\n return this;\r\n};\r\nTHREE.ShapeGeometry.prototype.addShape = function(a, b) {\r\n void 0 === b && (b = {});\r\n var c = b.material,\r\n d =\r\n void 0 === b.UVGenerator\r\n ? THREE.ExtrudeGeometry.WorldUVGenerator\r\n : b.UVGenerator,\r\n e,\r\n f,\r\n g,\r\n h = this.vertices.length;\r\n e = a.extractPoints(void 0 !== b.curveSegments ? b.curveSegments : 12);\r\n var i = e.shape,\r\n k = e.holes;\r\n if (!THREE.Shape.Utils.isClockWise(i)) {\r\n i = i.reverse();\r\n e = 0;\r\n for (f = k.length; e < f; e++)\r\n (g = k[e]), THREE.Shape.Utils.isClockWise(g) && (k[e] = g.reverse());\r\n }\r\n var l = THREE.Shape.Utils.triangulateShape(i, k);\r\n e = 0;\r\n for (f = k.length; e < f; e++) (g = k[e]), (i = i.concat(g));\r\n k = i.length;\r\n f = l.length;\r\n for (e = 0; e < k; e++)\r\n (g = i[e]), this.vertices.push(new THREE.Vector3(g.x, g.y, 0));\r\n for (e = 0; e < f; e++)\r\n (k = l[e]),\r\n (i = k[0] + h),\r\n (g = k[1] + h),\r\n (k = k[2] + h),\r\n this.faces.push(new THREE.Face3(i, g, k, null, null, c)),\r\n this.faceVertexUvs[0].push(d.generateBottomUV(this, a, b, i, g, k));\r\n};\r\nTHREE.LatheGeometry = function(a, b, c, d) {\r\n THREE.Geometry.call(this);\r\n for (\r\n var b = b || 12,\r\n c = c || 0,\r\n d = d || 2 * Math.PI,\r\n e = 1 / (a.length - 1),\r\n f = 1 / b,\r\n g = 0,\r\n h = b;\r\n g <= h;\r\n g++\r\n )\r\n for (\r\n var i = c + g * f * d,\r\n k = Math.cos(i),\r\n l = Math.sin(i),\r\n i = 0,\r\n m = a.length;\r\n i < m;\r\n i++\r\n ) {\r\n var n = a[i],\r\n s = new THREE.Vector3();\r\n s.x = k * n.x - l * n.y;\r\n s.y = l * n.x + k * n.y;\r\n s.z = n.z;\r\n this.vertices.push(s);\r\n }\r\n c = a.length;\r\n g = 0;\r\n for (h = b; g < h; g++) {\r\n i = 0;\r\n for (m = a.length - 1; i < m; i++)\r\n (d = b = i + c * g),\r\n (l = b + c),\r\n (k = b + 1 + c),\r\n this.faces.push(new THREE.Face4(d, l, k, b + 1)),\r\n (k = g * f),\r\n (b = i * e),\r\n (d = k + f),\r\n (l = b + e),\r\n this.faceVertexUvs[0].push([\r\n new THREE.Vector2(k, b),\r\n new THREE.Vector2(d, b),\r\n new THREE.Vector2(d, l),\r\n new THREE.Vector2(k, l)\r\n ]);\r\n }\r\n this.mergeVertices();\r\n this.computeCentroids();\r\n this.computeFaceNormals();\r\n this.computeVertexNormals();\r\n};\r\nTHREE.LatheGeometry.prototype = Object.create(THREE.Geometry.prototype);\r\nTHREE.PlaneGeometry = function(a, b, c, d) {\r\n THREE.Geometry.call(this);\r\n this.width = a;\r\n this.height = b;\r\n this.widthSegments = c || 1;\r\n this.heightSegments = d || 1;\r\n for (\r\n var c = a / 2,\r\n e = b / 2,\r\n d = this.widthSegments,\r\n f = this.heightSegments,\r\n g = d + 1,\r\n h = f + 1,\r\n i = this.width / d,\r\n k = this.height / f,\r\n l = new THREE.Vector3(0, 0, 1),\r\n a = 0;\r\n a < h;\r\n a++\r\n )\r\n for (b = 0; b < g; b++)\r\n this.vertices.push(new THREE.Vector3(b * i - c, -(a * k - e), 0));\r\n for (a = 0; a < f; a++)\r\n for (b = 0; b < d; b++)\r\n (c = new THREE.Face4(\r\n b + g * a,\r\n b + g * (a + 1),\r\n b + 1 + g * (a + 1),\r\n b + 1 + g * a\r\n )),\r\n c.normal.copy(l),\r\n c.vertexNormals.push(l.clone(), l.clone(), l.clone(), l.clone()),\r\n this.faces.push(c),\r\n this.faceVertexUvs[0].push([\r\n new THREE.Vector2(b / d, 1 - a / f),\r\n new THREE.Vector2(b / d, 1 - (a + 1) / f),\r\n new THREE.Vector2((b + 1) / d, 1 - (a + 1) / f),\r\n new THREE.Vector2((b + 1) / d, 1 - a / f)\r\n ]);\r\n this.computeCentroids();\r\n};\r\nTHREE.PlaneGeometry.prototype = Object.create(THREE.Geometry.prototype);\r\nTHREE.SphereGeometry = function(a, b, c, d, e, f, g) {\r\n THREE.Geometry.call(this);\r\n this.radius = a || 50;\r\n this.widthSegments = Math.max(3, Math.floor(b) || 8);\r\n this.heightSegments = Math.max(2, Math.floor(c) || 6);\r\n for (\r\n var d = void 0 !== d ? d : 0,\r\n e = void 0 !== e ? e : 2 * Math.PI,\r\n f = void 0 !== f ? f : 0,\r\n g = void 0 !== g ? g : Math.PI,\r\n h = [],\r\n i = [],\r\n c = 0;\r\n c <= this.heightSegments;\r\n c++\r\n ) {\r\n for (var k = [], l = [], b = 0; b <= this.widthSegments; b++) {\r\n var m = b / this.widthSegments,\r\n n = c / this.heightSegments,\r\n s = new THREE.Vector3();\r\n s.x = -this.radius * Math.cos(d + m * e) * Math.sin(f + n * g);\r\n s.y = this.radius * Math.cos(f + n * g);\r\n s.z = this.radius * Math.sin(d + m * e) * Math.sin(f + n * g);\r\n this.vertices.push(s);\r\n k.push(this.vertices.length - 1);\r\n l.push(new THREE.Vector2(m, 1 - n));\r\n }\r\n h.push(k);\r\n i.push(l);\r\n }\r\n for (c = 0; c < this.heightSegments; c++)\r\n for (b = 0; b < this.widthSegments; b++) {\r\n var d = h[c][b + 1],\r\n e = h[c][b],\r\n f = h[c + 1][b],\r\n g = h[c + 1][b + 1],\r\n k = this.vertices[d].clone().normalize(),\r\n l = this.vertices[e].clone().normalize(),\r\n m = this.vertices[f].clone().normalize(),\r\n n = this.vertices[g].clone().normalize(),\r\n s = i[c][b + 1].clone(),\r\n r = i[c][b].clone(),\r\n p = i[c + 1][b].clone(),\r\n q = i[c + 1][b + 1].clone();\r\n Math.abs(this.vertices[d].y) === this.radius\r\n ? (this.faces.push(new THREE.Face3(d, f, g, [k, m, n])),\r\n this.faceVertexUvs[0].push([s, p, q]))\r\n : Math.abs(this.vertices[f].y) === this.radius\r\n ? (this.faces.push(new THREE.Face3(d, e, f, [k, l, m])),\r\n this.faceVertexUvs[0].push([s, r, p]))\r\n : (this.faces.push(new THREE.Face4(d, e, f, g, [k, l, m, n])),\r\n this.faceVertexUvs[0].push([s, r, p, q]));\r\n }\r\n this.computeCentroids();\r\n this.computeFaceNormals();\r\n this.boundingSphere = new THREE.Sphere(new THREE.Vector3(), a);\r\n};\r\nTHREE.SphereGeometry.prototype = Object.create(THREE.Geometry.prototype);\r\nTHREE.TextGeometry = function(a, b) {\r\n var c = THREE.FontUtils.generateShapes(a, b);\r\n b.amount = void 0 !== b.height ? b.height : 50;\r\n void 0 === b.bevelThickness && (b.bevelThickness = 10);\r\n void 0 === b.bevelSize && (b.bevelSize = 8);\r\n void 0 === b.bevelEnabled && (b.bevelEnabled = !1);\r\n THREE.ExtrudeGeometry.call(this, c, b);\r\n};\r\nTHREE.TextGeometry.prototype = Object.create(THREE.ExtrudeGeometry.prototype);\r\nTHREE.TorusGeometry = function(a, b, c, d, e) {\r\n THREE.Geometry.call(this);\r\n this.radius = a || 100;\r\n this.tube = b || 40;\r\n this.radialSegments = c || 8;\r\n this.tubularSegments = d || 6;\r\n this.arc = e || 2 * Math.PI;\r\n e = new THREE.Vector3();\r\n a = [];\r\n b = [];\r\n for (c = 0; c <= this.radialSegments; c++)\r\n for (d = 0; d <= this.tubularSegments; d++) {\r\n var f = (d / this.tubularSegments) * this.arc,\r\n g = ((2 * c) / this.radialSegments) * Math.PI;\r\n e.x = this.radius * Math.cos(f);\r\n e.y = this.radius * Math.sin(f);\r\n var h = new THREE.Vector3();\r\n h.x = (this.radius + this.tube * Math.cos(g)) * Math.cos(f);\r\n h.y = (this.radius + this.tube * Math.cos(g)) * Math.sin(f);\r\n h.z = this.tube * Math.sin(g);\r\n this.vertices.push(h);\r\n a.push(\r\n new THREE.Vector2(d / this.tubularSegments, c / this.radialSegments)\r\n );\r\n b.push(\r\n h\r\n .clone()\r\n .sub(e)\r\n .normalize()\r\n );\r\n }\r\n for (c = 1; c <= this.radialSegments; c++)\r\n for (d = 1; d <= this.tubularSegments; d++) {\r\n var e = (this.tubularSegments + 1) * c + d - 1,\r\n f = (this.tubularSegments + 1) * (c - 1) + d - 1,\r\n g = (this.tubularSegments + 1) * (c - 1) + d,\r\n h = (this.tubularSegments + 1) * c + d,\r\n i = new THREE.Face4(e, f, g, h, [b[e], b[f], b[g], b[h]]);\r\n i.normal.add(b[e]);\r\n i.normal.add(b[f]);\r\n i.normal.add(b[g]);\r\n i.normal.add(b[h]);\r\n i.normal.normalize();\r\n this.faces.push(i);\r\n this.faceVertexUvs[0].push([\r\n a[e].clone(),\r\n a[f].clone(),\r\n a[g].clone(),\r\n a[h].clone()\r\n ]);\r\n }\r\n this.computeCentroids();\r\n};\r\nTHREE.TorusGeometry.prototype = Object.create(THREE.Geometry.prototype);\r\nTHREE.TorusKnotGeometry = function(a, b, c, d, e, f, g) {\r\n function h(a, b, c, d, e, f) {\r\n var g = Math.cos(a);\r\n Math.cos(b);\r\n b = Math.sin(a);\r\n a *= c / d;\r\n c = Math.cos(a);\r\n g *= 0.5 * e * (2 + c);\r\n b = 0.5 * e * (2 + c) * b;\r\n e = 0.5 * f * e * Math.sin(a);\r\n return new THREE.Vector3(g, b, e);\r\n }\r\n THREE.Geometry.call(this);\r\n this.radius = a || 100;\r\n this.tube = b || 40;\r\n this.radialSegments = c || 64;\r\n this.tubularSegments = d || 8;\r\n this.p = e || 2;\r\n this.q = f || 3;\r\n this.heightScale = g || 1;\r\n this.grid = Array(this.radialSegments);\r\n c = new THREE.Vector3();\r\n d = new THREE.Vector3();\r\n e = new THREE.Vector3();\r\n for (a = 0; a < this.radialSegments; ++a) {\r\n this.grid[a] = Array(this.tubularSegments);\r\n for (b = 0; b < this.tubularSegments; ++b) {\r\n var i = 2 * (a / this.radialSegments) * this.p * Math.PI,\r\n g = 2 * (b / this.tubularSegments) * Math.PI,\r\n f = h(i, g, this.q, this.p, this.radius, this.heightScale),\r\n i = h(i + 0.01, g, this.q, this.p, this.radius, this.heightScale);\r\n c.subVectors(i, f);\r\n d.addVectors(i, f);\r\n e.crossVectors(c, d);\r\n d.crossVectors(e, c);\r\n e.normalize();\r\n d.normalize();\r\n i = -this.tube * Math.cos(g);\r\n g = this.tube * Math.sin(g);\r\n f.x += i * d.x + g * e.x;\r\n f.y += i * d.y + g * e.y;\r\n f.z += i * d.z + g * e.z;\r\n this.grid[a][b] =\r\n this.vertices.push(new THREE.Vector3(f.x, f.y, f.z)) - 1;\r\n }\r\n }\r\n for (a = 0; a < this.radialSegments; ++a)\r\n for (b = 0; b < this.tubularSegments; ++b) {\r\n var e = (a + 1) % this.radialSegments,\r\n f = (b + 1) % this.tubularSegments,\r\n c = this.grid[a][b],\r\n d = this.grid[e][b],\r\n e = this.grid[e][f],\r\n f = this.grid[a][f],\r\n g = new THREE.Vector2(\r\n a / this.radialSegments,\r\n b / this.tubularSegments\r\n ),\r\n i = new THREE.Vector2(\r\n (a + 1) / this.radialSegments,\r\n b / this.tubularSegments\r\n ),\r\n k = new THREE.Vector2(\r\n (a + 1) / this.radialSegments,\r\n (b + 1) / this.tubularSegments\r\n ),\r\n l = new THREE.Vector2(\r\n a / this.radialSegments,\r\n (b + 1) / this.tubularSegments\r\n );\r\n this.faces.push(new THREE.Face4(c, d, e, f));\r\n this.faceVertexUvs[0].push([g, i, k, l]);\r\n }\r\n this.computeCentroids();\r\n this.computeFaceNormals();\r\n this.computeVertexNormals();\r\n};\r\nTHREE.TorusKnotGeometry.prototype = Object.create(THREE.Geometry.prototype);\r\nTHREE.TubeGeometry = function(a, b, c, d, e, f) {\r\n THREE.Geometry.call(this);\r\n this.path = a;\r\n this.segments = b || 64;\r\n this.radius = c || 1;\r\n this.radiusSegments = d || 8;\r\n this.closed = e || !1;\r\n f && (this.debug = new THREE.Object3D());\r\n this.grid = [];\r\n var g,\r\n h,\r\n e = this.segments + 1,\r\n i,\r\n k,\r\n l,\r\n f = new THREE.Vector3(),\r\n m,\r\n n,\r\n s,\r\n b = new THREE.TubeGeometry.FrenetFrames(\r\n this.path,\r\n this.segments,\r\n this.closed\r\n );\r\n m = b.tangents;\r\n n = b.normals;\r\n s = b.binormals;\r\n this.tangents = m;\r\n this.normals = n;\r\n this.binormals = s;\r\n for (b = 0; b < e; b++) {\r\n this.grid[b] = [];\r\n d = b / (e - 1);\r\n l = a.getPointAt(d);\r\n d = m[b];\r\n g = n[b];\r\n h = s[b];\r\n this.debug &&\r\n (this.debug.add(new THREE.ArrowHelper(d, l, c, 255)),\r\n this.debug.add(new THREE.ArrowHelper(g, l, c, 16711680)),\r\n this.debug.add(new THREE.ArrowHelper(h, l, c, 65280)));\r\n for (d = 0; d < this.radiusSegments; d++)\r\n (i = 2 * (d / this.radiusSegments) * Math.PI),\r\n (k = -this.radius * Math.cos(i)),\r\n (i = this.radius * Math.sin(i)),\r\n f.copy(l),\r\n (f.x += k * g.x + i * h.x),\r\n (f.y += k * g.y + i * h.y),\r\n (f.z += k * g.z + i * h.z),\r\n (this.grid[b][d] =\r\n this.vertices.push(new THREE.Vector3(f.x, f.y, f.z)) - 1);\r\n }\r\n for (b = 0; b < this.segments; b++)\r\n for (d = 0; d < this.radiusSegments; d++)\r\n (e = this.closed ? (b + 1) % this.segments : b + 1),\r\n (f = (d + 1) % this.radiusSegments),\r\n (a = this.grid[b][d]),\r\n (c = this.grid[e][d]),\r\n (e = this.grid[e][f]),\r\n (f = this.grid[b][f]),\r\n (m = new THREE.Vector2(b / this.segments, d / this.radiusSegments)),\r\n (n = new THREE.Vector2(\r\n (b + 1) / this.segments,\r\n d / this.radiusSegments\r\n )),\r\n (s = new THREE.Vector2(\r\n (b + 1) / this.segments,\r\n (d + 1) / this.radiusSegments\r\n )),\r\n (g = new THREE.Vector2(\r\n b / this.segments,\r\n (d + 1) / this.radiusSegments\r\n )),\r\n this.faces.push(new THREE.Face4(a, c, e, f)),\r\n this.faceVertexUvs[0].push([m, n, s, g]);\r\n this.computeCentroids();\r\n this.computeFaceNormals();\r\n this.computeVertexNormals();\r\n};\r\nTHREE.TubeGeometry.prototype = Object.create(THREE.Geometry.prototype);\r\nTHREE.TubeGeometry.FrenetFrames = function(a, b, c) {\r\n new THREE.Vector3();\r\n var d = new THREE.Vector3();\r\n new THREE.Vector3();\r\n var e = [],\r\n f = [],\r\n g = [],\r\n h = new THREE.Vector3(),\r\n i = new THREE.Matrix4(),\r\n b = b + 1,\r\n k,\r\n l,\r\n m;\r\n this.tangents = e;\r\n this.normals = f;\r\n this.binormals = g;\r\n for (k = 0; k < b; k++)\r\n (l = k / (b - 1)), (e[k] = a.getTangentAt(l)), e[k].normalize();\r\n f[0] = new THREE.Vector3();\r\n g[0] = new THREE.Vector3();\r\n a = Number.MAX_VALUE;\r\n k = Math.abs(e[0].x);\r\n l = Math.abs(e[0].y);\r\n m = Math.abs(e[0].z);\r\n k <= a && ((a = k), d.set(1, 0, 0));\r\n l <= a && ((a = l), d.set(0, 1, 0));\r\n m <= a && d.set(0, 0, 1);\r\n h.crossVectors(e[0], d).normalize();\r\n f[0].crossVectors(e[0], h);\r\n g[0].crossVectors(e[0], f[0]);\r\n for (k = 1; k < b; k++)\r\n (f[k] = f[k - 1].clone()),\r\n (g[k] = g[k - 1].clone()),\r\n h.crossVectors(e[k - 1], e[k]),\r\n 1e-4 < h.length() &&\r\n (h.normalize(),\r\n (d = Math.acos(e[k - 1].dot(e[k]))),\r\n f[k].applyMatrix4(i.makeRotationAxis(h, d))),\r\n g[k].crossVectors(e[k], f[k]);\r\n if (c) {\r\n d = Math.acos(f[0].dot(f[b - 1]));\r\n d /= b - 1;\r\n 0 < e[0].dot(h.crossVectors(f[0], f[b - 1])) && (d = -d);\r\n for (k = 1; k < b; k++)\r\n f[k].applyMatrix4(i.makeRotationAxis(e[k], d * k)),\r\n g[k].crossVectors(e[k], f[k]);\r\n }\r\n};\r\nTHREE.PolyhedronGeometry = function(a, b, c, d) {\r\n function e(a) {\r\n var b = a.normalize().clone();\r\n b.index = i.vertices.push(b) - 1;\r\n var c = Math.atan2(a.z, -a.x) / 2 / Math.PI + 0.5,\r\n a = Math.atan2(-a.y, Math.sqrt(a.x * a.x + a.z * a.z)) / Math.PI + 0.5;\r\n b.uv = new THREE.Vector2(c, 1 - a);\r\n return b;\r\n }\r\n function f(a, b, c, d) {\r\n 1 > d\r\n ? ((d = new THREE.Face3(a.index, b.index, c.index, [\r\n a.clone(),\r\n b.clone(),\r\n c.clone()\r\n ])),\r\n d.centroid\r\n .add(a)\r\n .add(b)\r\n .add(c)\r\n .divideScalar(3),\r\n (d.normal = d.centroid.clone().normalize()),\r\n i.faces.push(d),\r\n (d = Math.atan2(d.centroid.z, -d.centroid.x)),\r\n i.faceVertexUvs[0].push([h(a.uv, a, d), h(b.uv, b, d), h(c.uv, c, d)]))\r\n : ((d -= 1),\r\n f(a, g(a, b), g(a, c), d),\r\n f(g(a, b), b, g(b, c), d),\r\n f(g(a, c), g(b, c), c, d),\r\n f(g(a, b), g(b, c), g(a, c), d));\r\n }\r\n function g(a, b) {\r\n m[a.index] || (m[a.index] = []);\r\n m[b.index] || (m[b.index] = []);\r\n var c = m[a.index][b.index];\r\n void 0 === c &&\r\n (m[a.index][b.index] = m[b.index][a.index] = c = e(\r\n new THREE.Vector3().addVectors(a, b).divideScalar(2)\r\n ));\r\n return c;\r\n }\r\n function h(a, b, c) {\r\n 0 > c && 1 === a.x && (a = new THREE.Vector2(a.x - 1, a.y));\r\n 0 === b.x &&\r\n 0 === b.z &&\r\n (a = new THREE.Vector2(c / 2 / Math.PI + 0.5, a.y));\r\n return a;\r\n }\r\n THREE.Geometry.call(this);\r\n for (var c = c || 1, d = d || 0, i = this, k = 0, l = a.length; k < l; k++)\r\n e(new THREE.Vector3(a[k][0], a[k][1], a[k][2]));\r\n for (var m = [], a = this.vertices, k = 0, l = b.length; k < l; k++)\r\n f(a[b[k][0]], a[b[k][1]], a[b[k][2]], d);\r\n this.mergeVertices();\r\n k = 0;\r\n for (l = this.vertices.length; k < l; k++) this.vertices[k].multiplyScalar(c);\r\n this.computeCentroids();\r\n this.boundingSphere = new THREE.Sphere(new THREE.Vector3(), c);\r\n};\r\nTHREE.PolyhedronGeometry.prototype = Object.create(THREE.Geometry.prototype);\r\nTHREE.IcosahedronGeometry = function(a, b) {\r\n var c = (1 + Math.sqrt(5)) / 2;\r\n THREE.PolyhedronGeometry.call(\r\n this,\r\n [\r\n [-1, c, 0],\r\n [1, c, 0],\r\n [-1, -c, 0],\r\n [1, -c, 0],\r\n [0, -1, c],\r\n [0, 1, c],\r\n [0, -1, -c],\r\n [0, 1, -c],\r\n [c, 0, -1],\r\n [c, 0, 1],\r\n [-c, 0, -1],\r\n [-c, 0, 1]\r\n ],\r\n [\r\n [0, 11, 5],\r\n [0, 5, 1],\r\n [0, 1, 7],\r\n [0, 7, 10],\r\n [0, 10, 11],\r\n [1, 5, 9],\r\n [5, 11, 4],\r\n [11, 10, 2],\r\n [10, 7, 6],\r\n [7, 1, 8],\r\n [3, 9, 4],\r\n [3, 4, 2],\r\n [3, 2, 6],\r\n [3, 6, 8],\r\n [3, 8, 9],\r\n [4, 9, 5],\r\n [2, 4, 11],\r\n [6, 2, 10],\r\n [8, 6, 7],\r\n [9, 8, 1]\r\n ],\r\n a,\r\n b\r\n );\r\n};\r\nTHREE.IcosahedronGeometry.prototype = Object.create(THREE.Geometry.prototype);\r\nTHREE.OctahedronGeometry = function(a, b) {\r\n THREE.PolyhedronGeometry.call(\r\n this,\r\n [\r\n [1, 0, 0],\r\n [-1, 0, 0],\r\n [0, 1, 0],\r\n [0, -1, 0],\r\n [0, 0, 1],\r\n [0, 0, -1]\r\n ],\r\n [\r\n [0, 2, 4],\r\n [0, 4, 3],\r\n [0, 3, 5],\r\n [0, 5, 2],\r\n [1, 2, 5],\r\n [1, 5, 3],\r\n [1, 3, 4],\r\n [1, 4, 2]\r\n ],\r\n a,\r\n b\r\n );\r\n};\r\nTHREE.OctahedronGeometry.prototype = Object.create(THREE.Geometry.prototype);\r\nTHREE.TetrahedronGeometry = function(a, b) {\r\n THREE.PolyhedronGeometry.call(\r\n this,\r\n [\r\n [1, 1, 1],\r\n [-1, -1, 1],\r\n [-1, 1, -1],\r\n [1, -1, -1]\r\n ],\r\n [\r\n [2, 1, 0],\r\n [0, 3, 2],\r\n [1, 3, 0],\r\n [2, 3, 1]\r\n ],\r\n a,\r\n b\r\n );\r\n};\r\nTHREE.TetrahedronGeometry.prototype = Object.create(THREE.Geometry.prototype);\r\nTHREE.ParametricGeometry = function(a, b, c, d) {\r\n THREE.Geometry.call(this);\r\n var e = this.vertices,\r\n f = this.faces,\r\n g = this.faceVertexUvs[0],\r\n d = void 0 === d ? !1 : d,\r\n h,\r\n i,\r\n k,\r\n l,\r\n m = b + 1;\r\n for (h = 0; h <= c; h++) {\r\n l = h / c;\r\n for (i = 0; i <= b; i++) (k = i / b), (k = a(k, l)), e.push(k);\r\n }\r\n var n, s, r, p;\r\n for (h = 0; h < c; h++)\r\n for (i = 0; i < b; i++)\r\n (a = h * m + i),\r\n (e = h * m + i + 1),\r\n (l = (h + 1) * m + i),\r\n (k = (h + 1) * m + i + 1),\r\n (n = new THREE.Vector2(i / b, h / c)),\r\n (s = new THREE.Vector2((i + 1) / b, h / c)),\r\n (r = new THREE.Vector2(i / b, (h + 1) / c)),\r\n (p = new THREE.Vector2((i + 1) / b, (h + 1) / c)),\r\n d\r\n ? (f.push(new THREE.Face3(a, e, l)),\r\n f.push(new THREE.Face3(e, k, l)),\r\n g.push([n, s, r]),\r\n g.push([s, p, r]))\r\n : (f.push(new THREE.Face4(a, e, k, l)), g.push([n, s, p, r]));\r\n this.computeCentroids();\r\n this.computeFaceNormals();\r\n this.computeVertexNormals();\r\n};\r\nTHREE.ParametricGeometry.prototype = Object.create(THREE.Geometry.prototype);\r\nTHREE.ConvexGeometry = function(a) {\r\n function b(a) {\r\n var b = a.length();\r\n return new THREE.Vector2(a.x / b, a.y / b);\r\n }\r\n THREE.Geometry.call(this);\r\n for (\r\n var c = [\r\n [0, 1, 2],\r\n [0, 2, 1]\r\n ],\r\n d = 3;\r\n d < a.length;\r\n d++\r\n ) {\r\n var e = d,\r\n f = a[e].clone(),\r\n g = f.length();\r\n f.x += g * 2e-6 * (Math.random() - 0.5);\r\n f.y += g * 2e-6 * (Math.random() - 0.5);\r\n f.z += g * 2e-6 * (Math.random() - 0.5);\r\n for (var g = [], h = 0; h < c.length; ) {\r\n var i = c[h],\r\n k = f,\r\n l = a[i[0]],\r\n m;\r\n m = l;\r\n var n = a[i[1]],\r\n s = a[i[2]],\r\n r = new THREE.Vector3(),\r\n p = new THREE.Vector3();\r\n r.subVectors(s, n);\r\n p.subVectors(m, n);\r\n r.cross(p);\r\n r.normalize();\r\n m = r;\r\n l = m.dot(l);\r\n if (m.dot(k) >= l) {\r\n for (k = 0; 3 > k; k++) {\r\n l = [i[k], i[(k + 1) % 3]];\r\n m = !0;\r\n for (n = 0; n < g.length; n++)\r\n if (g[n][0] === l[1] && g[n][1] === l[0]) {\r\n g[n] = g[g.length - 1];\r\n g.pop();\r\n m = !1;\r\n break;\r\n }\r\n m && g.push(l);\r\n }\r\n c[h] = c[c.length - 1];\r\n c.pop();\r\n } else h++;\r\n }\r\n for (n = 0; n < g.length; n++) c.push([g[n][0], g[n][1], e]);\r\n }\r\n e = 0;\r\n f = Array(a.length);\r\n for (d = 0; d < c.length; d++) {\r\n g = c[d];\r\n for (h = 0; 3 > h; h++)\r\n void 0 === f[g[h]] && ((f[g[h]] = e++), this.vertices.push(a[g[h]])),\r\n (g[h] = f[g[h]]);\r\n }\r\n for (d = 0; d < c.length; d++)\r\n this.faces.push(new THREE.Face3(c[d][0], c[d][1], c[d][2]));\r\n for (d = 0; d < this.faces.length; d++)\r\n (g = this.faces[d]),\r\n this.faceVertexUvs[0].push([\r\n b(this.vertices[g.a]),\r\n b(this.vertices[g.b]),\r\n b(this.vertices[g.c])\r\n ]);\r\n this.computeCentroids();\r\n this.computeFaceNormals();\r\n this.computeVertexNormals();\r\n};\r\nTHREE.ConvexGeometry.prototype = Object.create(THREE.Geometry.prototype);\r\nTHREE.AxisHelper = function(a) {\r\n var b = new THREE.Geometry();\r\n b.vertices.push(\r\n new THREE.Vector3(),\r\n new THREE.Vector3(a || 1, 0, 0),\r\n new THREE.Vector3(),\r\n new THREE.Vector3(0, a || 1, 0),\r\n new THREE.Vector3(),\r\n new THREE.Vector3(0, 0, a || 1)\r\n );\r\n b.colors.push(\r\n new THREE.Color(16711680),\r\n new THREE.Color(16755200),\r\n new THREE.Color(65280),\r\n new THREE.Color(11206400),\r\n new THREE.Color(255),\r\n new THREE.Color(43775)\r\n );\r\n a = new THREE.LineBasicMaterial({ vertexColors: THREE.VertexColors });\r\n THREE.Line.call(this, b, a, THREE.LinePieces);\r\n};\r\nTHREE.AxisHelper.prototype = Object.create(THREE.Line.prototype);\r\nTHREE.ArrowHelper = function(a, b, c, d) {\r\n THREE.Object3D.call(this);\r\n void 0 === c && (c = 20);\r\n void 0 === d && (d = 16776960);\r\n var e = new THREE.Geometry();\r\n e.vertices.push(new THREE.Vector3(0, 0, 0));\r\n e.vertices.push(new THREE.Vector3(0, 1, 0));\r\n this.line = new THREE.Line(e, new THREE.LineBasicMaterial({ color: d }));\r\n this.add(this.line);\r\n e = new THREE.CylinderGeometry(0, 0.05, 0.25, 5, 1);\r\n this.cone = new THREE.Mesh(e, new THREE.MeshBasicMaterial({ color: d }));\r\n this.cone.position.set(0, 1, 0);\r\n this.add(this.cone);\r\n b instanceof THREE.Vector3 && (this.position = b);\r\n this.setDirection(a);\r\n this.setLength(c);\r\n};\r\nTHREE.ArrowHelper.prototype = Object.create(THREE.Object3D.prototype);\r\nTHREE.ArrowHelper.prototype.setDirection = function(a) {\r\n var b = THREE.ArrowHelper.__v1.copy(a).normalize();\r\n 0.999 < b.y\r\n ? this.rotation.set(0, 0, 0)\r\n : -0.999 > b.y\r\n ? this.rotation.set(Math.PI, 0, 0)\r\n : ((a = THREE.ArrowHelper.__v2.set(b.z, 0, -b.x).normalize()),\r\n (b = Math.acos(b.y)),\r\n (a = THREE.ArrowHelper.__q1.setFromAxisAngle(a, b)),\r\n this.rotation.setEulerFromQuaternion(a, this.eulerOrder));\r\n};\r\nTHREE.ArrowHelper.prototype.setLength = function(a) {\r\n this.scale.set(a, a, a);\r\n};\r\nTHREE.ArrowHelper.prototype.setColor = function(a) {\r\n this.line.material.color.setHex(a);\r\n this.cone.material.color.setHex(a);\r\n};\r\nTHREE.ArrowHelper.__v1 = new THREE.Vector3();\r\nTHREE.ArrowHelper.__v2 = new THREE.Vector3();\r\nTHREE.ArrowHelper.__q1 = new THREE.Quaternion();\r\nTHREE.CameraHelper = function(a) {\r\n function b(a, b, d) {\r\n c(a, d);\r\n c(b, d);\r\n }\r\n function c(a, b) {\r\n d.geometry.vertices.push(new THREE.Vector3());\r\n d.geometry.colors.push(new THREE.Color(b));\r\n void 0 === d.pointMap[a] && (d.pointMap[a] = []);\r\n d.pointMap[a].push(d.geometry.vertices.length - 1);\r\n }\r\n THREE.Line.call(this);\r\n var d = this;\r\n this.geometry = new THREE.Geometry();\r\n this.material = new THREE.LineBasicMaterial({\r\n color: 16777215,\r\n vertexColors: THREE.FaceColors\r\n });\r\n this.type = THREE.LinePieces;\r\n this.matrixWorld = a.matrixWorld;\r\n this.matrixAutoUpdate = !1;\r\n this.pointMap = {};\r\n b(\"n1\", \"n2\", 16755200);\r\n b(\"n2\", \"n4\", 16755200);\r\n b(\"n4\", \"n3\", 16755200);\r\n b(\"n3\", \"n1\", 16755200);\r\n b(\"f1\", \"f2\", 16755200);\r\n b(\"f2\", \"f4\", 16755200);\r\n b(\"f4\", \"f3\", 16755200);\r\n b(\"f3\", \"f1\", 16755200);\r\n b(\"n1\", \"f1\", 16755200);\r\n b(\"n2\", \"f2\", 16755200);\r\n b(\"n3\", \"f3\", 16755200);\r\n b(\"n4\", \"f4\", 16755200);\r\n b(\"p\", \"n1\", 16711680);\r\n b(\"p\", \"n2\", 16711680);\r\n b(\"p\", \"n3\", 16711680);\r\n b(\"p\", \"n4\", 16711680);\r\n b(\"u1\", \"u2\", 43775);\r\n b(\"u2\", \"u3\", 43775);\r\n b(\"u3\", \"u1\", 43775);\r\n b(\"c\", \"t\", 16777215);\r\n b(\"p\", \"c\", 3355443);\r\n b(\"cn1\", \"cn2\", 3355443);\r\n b(\"cn3\", \"cn4\", 3355443);\r\n b(\"cf1\", \"cf2\", 3355443);\r\n b(\"cf3\", \"cf4\", 3355443);\r\n this.camera = a;\r\n this.update(a);\r\n};\r\nTHREE.CameraHelper.prototype = Object.create(THREE.Line.prototype);\r\nTHREE.CameraHelper.prototype.update = function() {\r\n function a(a, d, e, f) {\r\n THREE.CameraHelper.__v.set(d, e, f);\r\n THREE.CameraHelper.__projector.unprojectVector(\r\n THREE.CameraHelper.__v,\r\n THREE.CameraHelper.__c\r\n );\r\n a = b.pointMap[a];\r\n if (void 0 !== a) {\r\n d = 0;\r\n for (e = a.length; d < e; d++)\r\n b.geometry.vertices[a[d]].copy(THREE.CameraHelper.__v);\r\n }\r\n }\r\n var b = this;\r\n THREE.CameraHelper.__c.projectionMatrix.copy(this.camera.projectionMatrix);\r\n a(\"c\", 0, 0, -1);\r\n a(\"t\", 0, 0, 1);\r\n a(\"n1\", -1, -1, -1);\r\n a(\"n2\", 1, -1, -1);\r\n a(\"n3\", -1, 1, -1);\r\n a(\"n4\", 1, 1, -1);\r\n a(\"f1\", -1, -1, 1);\r\n a(\"f2\", 1, -1, 1);\r\n a(\"f3\", -1, 1, 1);\r\n a(\"f4\", 1, 1, 1);\r\n a(\"u1\", 0.7, 1.1, -1);\r\n a(\"u2\", -0.7, 1.1, -1);\r\n a(\"u3\", 0, 2, -1);\r\n a(\"cf1\", -1, 0, 1);\r\n a(\"cf2\", 1, 0, 1);\r\n a(\"cf3\", 0, -1, 1);\r\n a(\"cf4\", 0, 1, 1);\r\n a(\"cn1\", -1, 0, -1);\r\n a(\"cn2\", 1, 0, -1);\r\n a(\"cn3\", 0, -1, -1);\r\n a(\"cn4\", 0, 1, -1);\r\n this.geometry.verticesNeedUpdate = !0;\r\n};\r\nTHREE.CameraHelper.__projector = new THREE.Projector();\r\nTHREE.CameraHelper.__v = new THREE.Vector3();\r\nTHREE.CameraHelper.__c = new THREE.Camera();\r\nTHREE.DirectionalLightHelper = function(a, b) {\r\n THREE.Object3D.call(this);\r\n this.light = a;\r\n this.position = a.position;\r\n this.direction = new THREE.Vector3();\r\n this.direction.subVectors(a.target.position, a.position);\r\n var c = THREE.Math.clamp(a.intensity, 0, 1);\r\n this.color = a.color.clone();\r\n this.color.multiplyScalar(c);\r\n var c = this.color.getHex(),\r\n d = new THREE.SphereGeometry(b, 16, 8),\r\n e = new THREE.AsteriskGeometry(1.25 * b, 2.25 * b),\r\n f = new THREE.MeshBasicMaterial({ color: c, fog: !1 }),\r\n g = new THREE.LineBasicMaterial({ color: c, fog: !1 });\r\n this.lightSphere = new THREE.Mesh(d, f);\r\n this.lightRays = new THREE.Line(e, g, THREE.LinePieces);\r\n this.add(this.lightSphere);\r\n this.add(this.lightRays);\r\n this.lightSphere.properties.isGizmo = !0;\r\n this.lightSphere.properties.gizmoSubject = a;\r\n this.lightSphere.properties.gizmoRoot = this;\r\n this.targetSphere = null;\r\n void 0 !== a.target.properties.targetInverse &&\r\n ((d = new THREE.SphereGeometry(b, 8, 4)),\r\n (e = new THREE.MeshBasicMaterial({ color: c, wireframe: !0, fog: !1 })),\r\n (this.targetSphere = new THREE.Mesh(d, e)),\r\n (this.targetSphere.position = a.target.position),\r\n (this.targetSphere.properties.isGizmo = !0),\r\n (this.targetSphere.properties.gizmoSubject = a.target),\r\n (this.targetSphere.properties.gizmoRoot = this.targetSphere),\r\n (c = new THREE.LineDashedMaterial({\r\n color: c,\r\n dashSize: 4,\r\n gapSize: 4,\r\n opacity: 0.75,\r\n transparent: !0,\r\n fog: !1\r\n })),\r\n (d = new THREE.Geometry()),\r\n d.vertices.push(this.position.clone()),\r\n d.vertices.push(this.targetSphere.position.clone()),\r\n d.computeLineDistances(),\r\n (this.targetLine = new THREE.Line(d, c)),\r\n (this.targetLine.properties.isGizmo = !0));\r\n this.properties.isGizmo = !0;\r\n};\r\nTHREE.DirectionalLightHelper.prototype = Object.create(\r\n THREE.Object3D.prototype\r\n);\r\nTHREE.DirectionalLightHelper.prototype.update = function() {\r\n this.direction.subVectors(this.light.target.position, this.light.position);\r\n var a = THREE.Math.clamp(this.light.intensity, 0, 1);\r\n this.color.copy(this.light.color);\r\n this.color.multiplyScalar(a);\r\n this.lightSphere.material.color.copy(this.color);\r\n this.lightRays.material.color.copy(this.color);\r\n null !== this.targetSphere &&\r\n (this.targetSphere.material.color.copy(this.color),\r\n this.targetLine.material.color.copy(this.color),\r\n this.targetLine.geometry.vertices[0].copy(this.light.position),\r\n this.targetLine.geometry.vertices[1].copy(this.light.target.position),\r\n this.targetLine.geometry.computeLineDistances(),\r\n (this.targetLine.geometry.verticesNeedUpdate = !0));\r\n};\r\nTHREE.HemisphereLightHelper = function(a, b, c) {\r\n THREE.Object3D.call(this);\r\n this.light = a;\r\n this.position = a.position;\r\n var d = THREE.Math.clamp(a.intensity, 0, 1);\r\n this.color = a.color.clone();\r\n this.color.multiplyScalar(d);\r\n var e = this.color.getHex();\r\n this.groundColor = a.groundColor.clone();\r\n this.groundColor.multiplyScalar(d);\r\n for (\r\n var d = this.groundColor.getHex(),\r\n f = new THREE.SphereGeometry(b, 16, 8, 0, 2 * Math.PI, 0, 0.5 * Math.PI),\r\n g = new THREE.SphereGeometry(\r\n b,\r\n 16,\r\n 8,\r\n 0,\r\n 2 * Math.PI,\r\n 0.5 * Math.PI,\r\n Math.PI\r\n ),\r\n h = new THREE.MeshBasicMaterial({ color: e, fog: !1 }),\r\n i = new THREE.MeshBasicMaterial({ color: d, fog: !1 }),\r\n k = 0,\r\n l = f.faces.length;\r\n k < l;\r\n k++\r\n )\r\n f.faces[k].materialIndex = 0;\r\n k = 0;\r\n for (l = g.faces.length; k < l; k++) g.faces[k].materialIndex = 1;\r\n THREE.GeometryUtils.merge(f, g);\r\n this.lightSphere = new THREE.Mesh(f, new THREE.MeshFaceMaterial([h, i]));\r\n this.lightArrow = new THREE.ArrowHelper(\r\n new THREE.Vector3(0, 1, 0),\r\n new THREE.Vector3(0, 1.1 * (b + c), 0),\r\n c,\r\n e\r\n );\r\n this.lightArrow.rotation.x = Math.PI;\r\n this.lightArrowGround = new THREE.ArrowHelper(\r\n new THREE.Vector3(0, 1, 0),\r\n new THREE.Vector3(0, -1.1 * (b + c), 0),\r\n c,\r\n d\r\n );\r\n b = new THREE.Object3D();\r\n b.rotation.x = 0.5 * -Math.PI;\r\n b.add(this.lightSphere);\r\n b.add(this.lightArrow);\r\n b.add(this.lightArrowGround);\r\n this.add(b);\r\n this.lightSphere.properties.isGizmo = !0;\r\n this.lightSphere.properties.gizmoSubject = a;\r\n this.lightSphere.properties.gizmoRoot = this;\r\n this.properties.isGizmo = !0;\r\n this.target = new THREE.Vector3();\r\n this.lookAt(this.target);\r\n};\r\nTHREE.HemisphereLightHelper.prototype = Object.create(THREE.Object3D.prototype);\r\nTHREE.HemisphereLightHelper.prototype.update = function() {\r\n var a = THREE.Math.clamp(this.light.intensity, 0, 1);\r\n this.color.copy(this.light.color);\r\n this.color.multiplyScalar(a);\r\n this.groundColor.copy(this.light.groundColor);\r\n this.groundColor.multiplyScalar(a);\r\n this.lightSphere.material.materials[0].color.copy(this.color);\r\n this.lightSphere.material.materials[1].color.copy(this.groundColor);\r\n this.lightArrow.setColor(this.color.getHex());\r\n this.lightArrowGround.setColor(this.groundColor.getHex());\r\n this.lookAt(this.target);\r\n};\r\nTHREE.PointLightHelper = function(a, b) {\r\n THREE.Object3D.call(this);\r\n this.light = a;\r\n this.position = a.position;\r\n var c = THREE.Math.clamp(a.intensity, 0, 1);\r\n this.color = a.color.clone();\r\n this.color.multiplyScalar(c);\r\n var d = this.color.getHex(),\r\n c = new THREE.SphereGeometry(b, 16, 8),\r\n e = new THREE.AsteriskGeometry(1.25 * b, 2.25 * b),\r\n f = new THREE.IcosahedronGeometry(1, 2),\r\n g = new THREE.MeshBasicMaterial({ color: d, fog: !1 }),\r\n h = new THREE.LineBasicMaterial({ color: d, fog: !1 }),\r\n d = new THREE.MeshBasicMaterial({\r\n color: d,\r\n fog: !1,\r\n wireframe: !0,\r\n opacity: 0.1,\r\n transparent: !0\r\n });\r\n this.lightSphere = new THREE.Mesh(c, g);\r\n this.lightRays = new THREE.Line(e, h, THREE.LinePieces);\r\n this.lightDistance = new THREE.Mesh(f, d);\r\n c = a.distance;\r\n 0 === c\r\n ? (this.lightDistance.visible = !1)\r\n : this.lightDistance.scale.set(c, c, c);\r\n this.add(this.lightSphere);\r\n this.add(this.lightRays);\r\n this.add(this.lightDistance);\r\n this.lightSphere.properties.isGizmo = !0;\r\n this.lightSphere.properties.gizmoSubject = a;\r\n this.lightSphere.properties.gizmoRoot = this;\r\n this.properties.isGizmo = !0;\r\n};\r\nTHREE.PointLightHelper.prototype = Object.create(THREE.Object3D.prototype);\r\nTHREE.PointLightHelper.prototype.update = function() {\r\n var a = THREE.Math.clamp(this.light.intensity, 0, 1);\r\n this.color.copy(this.light.color);\r\n this.color.multiplyScalar(a);\r\n this.lightSphere.material.color.copy(this.color);\r\n this.lightRays.material.color.copy(this.color);\r\n this.lightDistance.material.color.copy(this.color);\r\n a = this.light.distance;\r\n 0 === a\r\n ? (this.lightDistance.visible = !1)\r\n : ((this.lightDistance.visible = !0),\r\n this.lightDistance.scale.set(a, a, a));\r\n};\r\nTHREE.SpotLightHelper = function(a, b) {\r\n THREE.Object3D.call(this);\r\n this.light = a;\r\n this.position = a.position;\r\n this.direction = new THREE.Vector3();\r\n this.direction.subVectors(a.target.position, a.position);\r\n var c = THREE.Math.clamp(a.intensity, 0, 1);\r\n this.color = a.color.clone();\r\n this.color.multiplyScalar(c);\r\n var c = this.color.getHex(),\r\n d = new THREE.SphereGeometry(b, 16, 8),\r\n e = new THREE.AsteriskGeometry(1.25 * b, 2.25 * b),\r\n f = new THREE.CylinderGeometry(1e-4, 1, 1, 8, 1, !0),\r\n g = new THREE.Matrix4();\r\n g.rotateX(-Math.PI / 2);\r\n g.translate(new THREE.Vector3(0, -0.5, 0));\r\n f.applyMatrix(g);\r\n var h = new THREE.MeshBasicMaterial({ color: c, fog: !1 }),\r\n g = new THREE.LineBasicMaterial({ color: c, fog: !1 }),\r\n i = new THREE.MeshBasicMaterial({\r\n color: c,\r\n fog: !1,\r\n wireframe: !0,\r\n opacity: 0.3,\r\n transparent: !0\r\n });\r\n this.lightSphere = new THREE.Mesh(d, h);\r\n this.lightCone = new THREE.Mesh(f, i);\r\n d = a.distance ? a.distance : 1e4;\r\n f = 2 * d * Math.tan(0.5 * a.angle);\r\n this.lightCone.scale.set(f, f, d);\r\n this.lightRays = new THREE.Line(e, g, THREE.LinePieces);\r\n this.gyroscope = new THREE.Gyroscope();\r\n this.gyroscope.add(this.lightSphere);\r\n this.gyroscope.add(this.lightRays);\r\n this.add(this.gyroscope);\r\n this.add(this.lightCone);\r\n this.lookAt(a.target.position);\r\n this.lightSphere.properties.isGizmo = !0;\r\n this.lightSphere.properties.gizmoSubject = a;\r\n this.lightSphere.properties.gizmoRoot = this;\r\n this.targetSphere = null;\r\n void 0 !== a.target.properties.targetInverse &&\r\n ((e = new THREE.SphereGeometry(b, 8, 4)),\r\n (g = new THREE.MeshBasicMaterial({ color: c, wireframe: !0, fog: !1 })),\r\n (this.targetSphere = new THREE.Mesh(e, g)),\r\n (this.targetSphere.position = a.target.position),\r\n (this.targetSphere.properties.isGizmo = !0),\r\n (this.targetSphere.properties.gizmoSubject = a.target),\r\n (this.targetSphere.properties.gizmoRoot = this.targetSphere),\r\n (c = new THREE.LineDashedMaterial({\r\n color: c,\r\n dashSize: 4,\r\n gapSize: 4,\r\n opacity: 0.75,\r\n transparent: !0,\r\n fog: !1\r\n })),\r\n (e = new THREE.Geometry()),\r\n e.vertices.push(this.position.clone()),\r\n e.vertices.push(this.targetSphere.position.clone()),\r\n e.computeLineDistances(),\r\n (this.targetLine = new THREE.Line(e, c)),\r\n (this.targetLine.properties.isGizmo = !0));\r\n this.properties.isGizmo = !0;\r\n};\r\nTHREE.SpotLightHelper.prototype = Object.create(THREE.Object3D.prototype);\r\nTHREE.SpotLightHelper.prototype.update = function() {\r\n this.direction.subVectors(this.light.target.position, this.light.position);\r\n this.lookAt(this.light.target.position);\r\n var a = this.light.distance ? this.light.distance : 1e4,\r\n b = 2 * a * Math.tan(0.5 * this.light.angle);\r\n this.lightCone.scale.set(b, b, a);\r\n a = THREE.Math.clamp(this.light.intensity, 0, 1);\r\n this.color.copy(this.light.color);\r\n this.color.multiplyScalar(a);\r\n this.lightSphere.material.color.copy(this.color);\r\n this.lightRays.material.color.copy(this.color);\r\n this.lightCone.material.color.copy(this.color);\r\n null !== this.targetSphere &&\r\n (this.targetSphere.material.color.copy(this.color),\r\n this.targetLine.material.color.copy(this.color),\r\n this.targetLine.geometry.vertices[0].copy(this.light.position),\r\n this.targetLine.geometry.vertices[1].copy(this.light.target.position),\r\n this.targetLine.geometry.computeLineDistances(),\r\n (this.targetLine.geometry.verticesNeedUpdate = !0));\r\n};\r\nTHREE.ImmediateRenderObject = function() {\r\n THREE.Object3D.call(this);\r\n this.render = function() {};\r\n};\r\nTHREE.ImmediateRenderObject.prototype = Object.create(THREE.Object3D.prototype);\r\nTHREE.LensFlare = function(a, b, c, d, e) {\r\n THREE.Object3D.call(this);\r\n this.lensFlares = [];\r\n this.positionScreen = new THREE.Vector3();\r\n this.customUpdateCallback = void 0;\r\n void 0 !== a && this.add(a, b, c, d, e);\r\n};\r\nTHREE.LensFlare.prototype = Object.create(THREE.Object3D.prototype);\r\nTHREE.LensFlare.prototype.add = function(a, b, c, d, e, f) {\r\n void 0 === b && (b = -1);\r\n void 0 === c && (c = 0);\r\n void 0 === f && (f = 1);\r\n void 0 === e && (e = new THREE.Color(16777215));\r\n void 0 === d && (d = THREE.NormalBlending);\r\n c = Math.min(c, Math.max(0, c));\r\n this.lensFlares.push({\r\n texture: a,\r\n size: b,\r\n distance: c,\r\n x: 0,\r\n y: 0,\r\n z: 0,\r\n scale: 1,\r\n rotation: 1,\r\n opacity: f,\r\n color: e,\r\n blending: d\r\n });\r\n};\r\nTHREE.LensFlare.prototype.updateLensFlares = function() {\r\n var a,\r\n b = this.lensFlares.length,\r\n c,\r\n d = 2 * -this.positionScreen.x,\r\n e = 2 * -this.positionScreen.y;\r\n for (a = 0; a < b; a++)\r\n (c = this.lensFlares[a]),\r\n (c.x = this.positionScreen.x + d * c.distance),\r\n (c.y = this.positionScreen.y + e * c.distance),\r\n (c.wantedRotation = 0.25 * c.x * Math.PI),\r\n (c.rotation += 0.25 * (c.wantedRotation - c.rotation));\r\n};\r\nTHREE.MorphBlendMesh = function(a, b) {\r\n THREE.Mesh.call(this, a, b);\r\n this.animationsMap = {};\r\n this.animationsList = [];\r\n var c = this.geometry.morphTargets.length;\r\n this.createAnimation(\"__default\", 0, c - 1, c / 1);\r\n this.setAnimationWeight(\"__default\", 1);\r\n};\r\nTHREE.MorphBlendMesh.prototype = Object.create(THREE.Mesh.prototype);\r\nTHREE.MorphBlendMesh.prototype.createAnimation = function(a, b, c, d) {\r\n b = {\r\n startFrame: b,\r\n endFrame: c,\r\n length: c - b + 1,\r\n fps: d,\r\n duration: (c - b) / d,\r\n lastFrame: 0,\r\n currentFrame: 0,\r\n active: !1,\r\n time: 0,\r\n direction: 1,\r\n weight: 1,\r\n directionBackwards: !1,\r\n mirroredLoop: !1\r\n };\r\n this.animationsMap[a] = b;\r\n this.animationsList.push(b);\r\n};\r\nTHREE.MorphBlendMesh.prototype.autoCreateAnimations = function(a) {\r\n for (\r\n var b = /([a-z]+)(\\d+)/,\r\n c,\r\n d = {},\r\n e = this.geometry,\r\n f = 0,\r\n g = e.morphTargets.length;\r\n f < g;\r\n f++\r\n ) {\r\n var h = e.morphTargets[f].name.match(b);\r\n if (h && 1 < h.length) {\r\n var i = h[1];\r\n d[i] || (d[i] = { start: Infinity, end: -Infinity });\r\n h = d[i];\r\n f < h.start && (h.start = f);\r\n f > h.end && (h.end = f);\r\n c || (c = i);\r\n }\r\n }\r\n for (i in d) (h = d[i]), this.createAnimation(i, h.start, h.end, a);\r\n this.firstAnimation = c;\r\n};\r\nTHREE.MorphBlendMesh.prototype.setAnimationDirectionForward = function(a) {\r\n if ((a = this.animationsMap[a]))\r\n (a.direction = 1), (a.directionBackwards = !1);\r\n};\r\nTHREE.MorphBlendMesh.prototype.setAnimationDirectionBackward = function(a) {\r\n if ((a = this.animationsMap[a]))\r\n (a.direction = -1), (a.directionBackwards = !0);\r\n};\r\nTHREE.MorphBlendMesh.prototype.setAnimationFPS = function(a, b) {\r\n var c = this.animationsMap[a];\r\n c && ((c.fps = b), (c.duration = (c.end - c.start) / c.fps));\r\n};\r\nTHREE.MorphBlendMesh.prototype.setAnimationDuration = function(a, b) {\r\n var c = this.animationsMap[a];\r\n c && ((c.duration = b), (c.fps = (c.end - c.start) / c.duration));\r\n};\r\nTHREE.MorphBlendMesh.prototype.setAnimationWeight = function(a, b) {\r\n var c = this.animationsMap[a];\r\n c && (c.weight = b);\r\n};\r\nTHREE.MorphBlendMesh.prototype.setAnimationTime = function(a, b) {\r\n var c = this.animationsMap[a];\r\n c && (c.time = b);\r\n};\r\nTHREE.MorphBlendMesh.prototype.getAnimationTime = function(a) {\r\n var b = 0;\r\n if ((a = this.animationsMap[a])) b = a.time;\r\n return b;\r\n};\r\nTHREE.MorphBlendMesh.prototype.getAnimationDuration = function(a) {\r\n var b = -1;\r\n if ((a = this.animationsMap[a])) b = a.duration;\r\n return b;\r\n};\r\nTHREE.MorphBlendMesh.prototype.playAnimation = function(a) {\r\n var b = this.animationsMap[a];\r\n b\r\n ? ((b.time = 0), (b.active = !0))\r\n : console.warn(\"animation[\" + a + \"] undefined\");\r\n};\r\nTHREE.MorphBlendMesh.prototype.stopAnimation = function(a) {\r\n if ((a = this.animationsMap[a])) a.active = !1;\r\n};\r\nTHREE.MorphBlendMesh.prototype.update = function(a) {\r\n for (var b = 0, c = this.animationsList.length; b < c; b++) {\r\n var d = this.animationsList[b];\r\n if (d.active) {\r\n var e = d.duration / d.length;\r\n d.time += d.direction * a;\r\n if (d.mirroredLoop) {\r\n if (d.time > d.duration || 0 > d.time)\r\n (d.direction *= -1),\r\n d.time > d.duration &&\r\n ((d.time = d.duration), (d.directionBackwards = !0)),\r\n 0 > d.time && ((d.time = 0), (d.directionBackwards = !1));\r\n } else (d.time %= d.duration), 0 > d.time && (d.time += d.duration);\r\n var f =\r\n d.startFrame +\r\n THREE.Math.clamp(Math.floor(d.time / e), 0, d.length - 1),\r\n g = d.weight;\r\n f !== d.currentFrame &&\r\n ((this.morphTargetInfluences[d.lastFrame] = 0),\r\n (this.morphTargetInfluences[d.currentFrame] = 1 * g),\r\n (this.morphTargetInfluences[f] = 0),\r\n (d.lastFrame = d.currentFrame),\r\n (d.currentFrame = f));\r\n e = (d.time % e) / e;\r\n d.directionBackwards && (e = 1 - e);\r\n this.morphTargetInfluences[d.currentFrame] = e * g;\r\n this.morphTargetInfluences[d.lastFrame] = (1 - e) * g;\r\n }\r\n }\r\n};\r\nTHREE.LensFlarePlugin = function() {\r\n function a(a, c) {\r\n var d = b.createProgram(),\r\n e = b.createShader(b.FRAGMENT_SHADER),\r\n f = b.createShader(b.VERTEX_SHADER),\r\n g = \"precision \" + c + \" float;\\n\";\r\n b.shaderSource(e, g + a.fragmentShader);\r\n b.shaderSource(f, g + a.vertexShader);\r\n b.compileShader(e);\r\n b.compileShader(f);\r\n b.attachShader(d, e);\r\n b.attachShader(d, f);\r\n b.linkProgram(d);\r\n return d;\r\n }\r\n var b, c, d, e, f, g, h, i, k, l, m, n, s;\r\n this.init = function(r) {\r\n b = r.context;\r\n c = r;\r\n d = r.getPrecision();\r\n e = new Float32Array(16);\r\n f = new Uint16Array(6);\r\n r = 0;\r\n e[r++] = -1;\r\n e[r++] = -1;\r\n e[r++] = 0;\r\n e[r++] = 0;\r\n e[r++] = 1;\r\n e[r++] = -1;\r\n e[r++] = 1;\r\n e[r++] = 0;\r\n e[r++] = 1;\r\n e[r++] = 1;\r\n e[r++] = 1;\r\n e[r++] = 1;\r\n e[r++] = -1;\r\n e[r++] = 1;\r\n e[r++] = 0;\r\n e[r++] = 1;\r\n r = 0;\r\n f[r++] = 0;\r\n f[r++] = 1;\r\n f[r++] = 2;\r\n f[r++] = 0;\r\n f[r++] = 2;\r\n f[r++] = 3;\r\n g = b.createBuffer();\r\n h = b.createBuffer();\r\n b.bindBuffer(b.ARRAY_BUFFER, g);\r\n b.bufferData(b.ARRAY_BUFFER, e, b.STATIC_DRAW);\r\n b.bindBuffer(b.ELEMENT_ARRAY_BUFFER, h);\r\n b.bufferData(b.ELEMENT_ARRAY_BUFFER, f, b.STATIC_DRAW);\r\n i = b.createTexture();\r\n k = b.createTexture();\r\n b.bindTexture(b.TEXTURE_2D, i);\r\n b.texImage2D(\r\n b.TEXTURE_2D,\r\n 0,\r\n b.RGB,\r\n 16,\r\n 16,\r\n 0,\r\n b.RGB,\r\n b.UNSIGNED_BYTE,\r\n null\r\n );\r\n b.texParameteri(b.TEXTURE_2D, b.TEXTURE_WRAP_S, b.CLAMP_TO_EDGE);\r\n b.texParameteri(b.TEXTURE_2D, b.TEXTURE_WRAP_T, b.CLAMP_TO_EDGE);\r\n b.texParameteri(b.TEXTURE_2D, b.TEXTURE_MAG_FILTER, b.NEAREST);\r\n b.texParameteri(b.TEXTURE_2D, b.TEXTURE_MIN_FILTER, b.NEAREST);\r\n b.bindTexture(b.TEXTURE_2D, k);\r\n b.texImage2D(\r\n b.TEXTURE_2D,\r\n 0,\r\n b.RGBA,\r\n 16,\r\n 16,\r\n 0,\r\n b.RGBA,\r\n b.UNSIGNED_BYTE,\r\n null\r\n );\r\n b.texParameteri(b.TEXTURE_2D, b.TEXTURE_WRAP_S, b.CLAMP_TO_EDGE);\r\n b.texParameteri(b.TEXTURE_2D, b.TEXTURE_WRAP_T, b.CLAMP_TO_EDGE);\r\n b.texParameteri(b.TEXTURE_2D, b.TEXTURE_MAG_FILTER, b.NEAREST);\r\n b.texParameteri(b.TEXTURE_2D, b.TEXTURE_MIN_FILTER, b.NEAREST);\r\n 0 >= b.getParameter(b.MAX_VERTEX_TEXTURE_IMAGE_UNITS)\r\n ? ((l = !1), (m = a(THREE.ShaderFlares.lensFlare, d)))\r\n : ((l = !0), (m = a(THREE.ShaderFlares.lensFlareVertexTexture, d)));\r\n n = {};\r\n s = {};\r\n n.vertex = b.getAttribLocation(m, \"position\");\r\n n.uv = b.getAttribLocation(m, \"uv\");\r\n s.renderType = b.getUniformLocation(m, \"renderType\");\r\n s.map = b.getUniformLocation(m, \"map\");\r\n s.occlusionMap = b.getUniformLocation(m, \"occlusionMap\");\r\n s.opacity = b.getUniformLocation(m, \"opacity\");\r\n s.color = b.getUniformLocation(m, \"color\");\r\n s.scale = b.getUniformLocation(m, \"scale\");\r\n s.rotation = b.getUniformLocation(m, \"rotation\");\r\n s.screenPosition = b.getUniformLocation(m, \"screenPosition\");\r\n };\r\n this.render = function(a, d, e, f) {\r\n var a = a.__webglFlares,\r\n v = a.length;\r\n if (v) {\r\n var z = new THREE.Vector3(),\r\n t = f / e,\r\n A = 0.5 * e,\r\n I = 0.5 * f,\r\n C = 16 / f,\r\n x = new THREE.Vector2(C * t, C),\r\n G = new THREE.Vector3(1, 1, 0),\r\n J = new THREE.Vector2(1, 1),\r\n E = s,\r\n C = n;\r\n b.useProgram(m);\r\n b.enableVertexAttribArray(n.vertex);\r\n b.enableVertexAttribArray(n.uv);\r\n b.uniform1i(E.occlusionMap, 0);\r\n b.uniform1i(E.map, 1);\r\n b.bindBuffer(b.ARRAY_BUFFER, g);\r\n b.vertexAttribPointer(C.vertex, 2, b.FLOAT, !1, 16, 0);\r\n b.vertexAttribPointer(C.uv, 2, b.FLOAT, !1, 16, 8);\r\n b.bindBuffer(b.ELEMENT_ARRAY_BUFFER, h);\r\n b.disable(b.CULL_FACE);\r\n b.depthMask(!1);\r\n var H, B, W, F, K;\r\n for (H = 0; H < v; H++)\r\n if (\r\n ((C = 16 / f),\r\n x.set(C * t, C),\r\n (F = a[H]),\r\n z.set(\r\n F.matrixWorld.elements[12],\r\n F.matrixWorld.elements[13],\r\n F.matrixWorld.elements[14]\r\n ),\r\n z.applyMatrix4(d.matrixWorldInverse),\r\n z.applyProjection(d.projectionMatrix),\r\n G.copy(z),\r\n (J.x = G.x * A + A),\r\n (J.y = G.y * I + I),\r\n l || (0 < J.x && J.x < e && 0 < J.y && J.y < f))\r\n ) {\r\n b.activeTexture(b.TEXTURE1);\r\n b.bindTexture(b.TEXTURE_2D, i);\r\n b.copyTexImage2D(b.TEXTURE_2D, 0, b.RGB, J.x - 8, J.y - 8, 16, 16, 0);\r\n b.uniform1i(E.renderType, 0);\r\n b.uniform2f(E.scale, x.x, x.y);\r\n b.uniform3f(E.screenPosition, G.x, G.y, G.z);\r\n b.disable(b.BLEND);\r\n b.enable(b.DEPTH_TEST);\r\n b.drawElements(b.TRIANGLES, 6, b.UNSIGNED_SHORT, 0);\r\n b.activeTexture(b.TEXTURE0);\r\n b.bindTexture(b.TEXTURE_2D, k);\r\n b.copyTexImage2D(\r\n b.TEXTURE_2D,\r\n 0,\r\n b.RGBA,\r\n J.x - 8,\r\n J.y - 8,\r\n 16,\r\n 16,\r\n 0\r\n );\r\n b.uniform1i(E.renderType, 1);\r\n b.disable(b.DEPTH_TEST);\r\n b.activeTexture(b.TEXTURE1);\r\n b.bindTexture(b.TEXTURE_2D, i);\r\n b.drawElements(b.TRIANGLES, 6, b.UNSIGNED_SHORT, 0);\r\n F.positionScreen.copy(G);\r\n F.customUpdateCallback\r\n ? F.customUpdateCallback(F)\r\n : F.updateLensFlares();\r\n b.uniform1i(E.renderType, 2);\r\n b.enable(b.BLEND);\r\n B = 0;\r\n for (W = F.lensFlares.length; B < W; B++)\r\n (K = F.lensFlares[B]),\r\n 0.001 < K.opacity &&\r\n 0.001 < K.scale &&\r\n ((G.x = K.x),\r\n (G.y = K.y),\r\n (G.z = K.z),\r\n (C = (K.size * K.scale) / f),\r\n (x.x = C * t),\r\n (x.y = C),\r\n b.uniform3f(E.screenPosition, G.x, G.y, G.z),\r\n b.uniform2f(E.scale, x.x, x.y),\r\n b.uniform1f(E.rotation, K.rotation),\r\n b.uniform1f(E.opacity, K.opacity),\r\n b.uniform3f(E.color, K.color.r, K.color.g, K.color.b),\r\n c.setBlending(\r\n K.blending,\r\n K.blendEquation,\r\n K.blendSrc,\r\n K.blendDst\r\n ),\r\n c.setTexture(K.texture, 1),\r\n b.drawElements(b.TRIANGLES, 6, b.UNSIGNED_SHORT, 0));\r\n }\r\n b.enable(b.CULL_FACE);\r\n b.enable(b.DEPTH_TEST);\r\n b.depthMask(!0);\r\n }\r\n };\r\n};\r\nTHREE.ShadowMapPlugin = function() {\r\n var a,\r\n b,\r\n c,\r\n d,\r\n e,\r\n f,\r\n g = new THREE.Frustum(),\r\n h = new THREE.Matrix4(),\r\n i = new THREE.Vector3(),\r\n k = new THREE.Vector3(),\r\n l = new THREE.Vector3();\r\n this.init = function(g) {\r\n a = g.context;\r\n b = g;\r\n var g = THREE.ShaderLib.depthRGBA,\r\n i = THREE.UniformsUtils.clone(g.uniforms);\r\n c = new THREE.ShaderMaterial({\r\n fragmentShader: g.fragmentShader,\r\n vertexShader: g.vertexShader,\r\n uniforms: i\r\n });\r\n d = new THREE.ShaderMaterial({\r\n fragmentShader: g.fragmentShader,\r\n vertexShader: g.vertexShader,\r\n uniforms: i,\r\n morphTargets: !0\r\n });\r\n e = new THREE.ShaderMaterial({\r\n fragmentShader: g.fragmentShader,\r\n vertexShader: g.vertexShader,\r\n uniforms: i,\r\n skinning: !0\r\n });\r\n f = new THREE.ShaderMaterial({\r\n fragmentShader: g.fragmentShader,\r\n vertexShader: g.vertexShader,\r\n uniforms: i,\r\n morphTargets: !0,\r\n skinning: !0\r\n });\r\n c._shadowPass = !0;\r\n d._shadowPass = !0;\r\n e._shadowPass = !0;\r\n f._shadowPass = !0;\r\n };\r\n this.render = function(a, c) {\r\n b.shadowMapEnabled && b.shadowMapAutoUpdate && this.update(a, c);\r\n };\r\n this.update = function(m, n) {\r\n var s,\r\n r,\r\n p,\r\n q,\r\n y,\r\n v,\r\n z,\r\n t,\r\n A,\r\n I = [];\r\n q = 0;\r\n a.clearColor(1, 1, 1, 1);\r\n a.disable(a.BLEND);\r\n a.enable(a.CULL_FACE);\r\n a.frontFace(a.CCW);\r\n b.shadowMapCullFace === THREE.CullFaceFront\r\n ? a.cullFace(a.FRONT)\r\n : a.cullFace(a.BACK);\r\n b.setDepthTest(!0);\r\n s = 0;\r\n for (r = m.__lights.length; s < r; s++)\r\n if (((p = m.__lights[s]), p.castShadow))\r\n if (p instanceof THREE.DirectionalLight && p.shadowCascade)\r\n for (y = 0; y < p.shadowCascadeCount; y++) {\r\n var C;\r\n if (p.shadowCascadeArray[y]) C = p.shadowCascadeArray[y];\r\n else {\r\n A = p;\r\n z = y;\r\n C = new THREE.DirectionalLight();\r\n C.isVirtual = !0;\r\n C.onlyShadow = !0;\r\n C.castShadow = !0;\r\n C.shadowCameraNear = A.shadowCameraNear;\r\n C.shadowCameraFar = A.shadowCameraFar;\r\n C.shadowCameraLeft = A.shadowCameraLeft;\r\n C.shadowCameraRight = A.shadowCameraRight;\r\n C.shadowCameraBottom = A.shadowCameraBottom;\r\n C.shadowCameraTop = A.shadowCameraTop;\r\n C.shadowCameraVisible = A.shadowCameraVisible;\r\n C.shadowDarkness = A.shadowDarkness;\r\n C.shadowBias = A.shadowCascadeBias[z];\r\n C.shadowMapWidth = A.shadowCascadeWidth[z];\r\n C.shadowMapHeight = A.shadowCascadeHeight[z];\r\n C.pointsWorld = [];\r\n C.pointsFrustum = [];\r\n t = C.pointsWorld;\r\n v = C.pointsFrustum;\r\n for (var x = 0; 8 > x; x++)\r\n (t[x] = new THREE.Vector3()), (v[x] = new THREE.Vector3());\r\n t = A.shadowCascadeNearZ[z];\r\n A = A.shadowCascadeFarZ[z];\r\n v[0].set(-1, -1, t);\r\n v[1].set(1, -1, t);\r\n v[2].set(-1, 1, t);\r\n v[3].set(1, 1, t);\r\n v[4].set(-1, -1, A);\r\n v[5].set(1, -1, A);\r\n v[6].set(-1, 1, A);\r\n v[7].set(1, 1, A);\r\n C.originalCamera = n;\r\n v = new THREE.Gyroscope();\r\n v.position = p.shadowCascadeOffset;\r\n v.add(C);\r\n v.add(C.target);\r\n n.add(v);\r\n p.shadowCascadeArray[y] = C;\r\n console.log(\"Created virtualLight\", C);\r\n }\r\n z = p;\r\n t = y;\r\n A = z.shadowCascadeArray[t];\r\n A.position.copy(z.position);\r\n A.target.position.copy(z.target.position);\r\n A.lookAt(A.target);\r\n A.shadowCameraVisible = z.shadowCameraVisible;\r\n A.shadowDarkness = z.shadowDarkness;\r\n A.shadowBias = z.shadowCascadeBias[t];\r\n v = z.shadowCascadeNearZ[t];\r\n z = z.shadowCascadeFarZ[t];\r\n A = A.pointsFrustum;\r\n A[0].z = v;\r\n A[1].z = v;\r\n A[2].z = v;\r\n A[3].z = v;\r\n A[4].z = z;\r\n A[5].z = z;\r\n A[6].z = z;\r\n A[7].z = z;\r\n I[q] = C;\r\n q++;\r\n }\r\n else (I[q] = p), q++;\r\n s = 0;\r\n for (r = I.length; s < r; s++) {\r\n p = I[s];\r\n p.shadowMap ||\r\n ((y = THREE.LinearFilter),\r\n b.shadowMapType === THREE.PCFSoftShadowMap && (y = THREE.NearestFilter),\r\n (p.shadowMap = new THREE.WebGLRenderTarget(\r\n p.shadowMapWidth,\r\n p.shadowMapHeight,\r\n { minFilter: y, magFilter: y, format: THREE.RGBAFormat }\r\n )),\r\n (p.shadowMapSize = new THREE.Vector2(\r\n p.shadowMapWidth,\r\n p.shadowMapHeight\r\n )),\r\n (p.shadowMatrix = new THREE.Matrix4()));\r\n if (!p.shadowCamera) {\r\n if (p instanceof THREE.SpotLight)\r\n p.shadowCamera = new THREE.PerspectiveCamera(\r\n p.shadowCameraFov,\r\n p.shadowMapWidth / p.shadowMapHeight,\r\n p.shadowCameraNear,\r\n p.shadowCameraFar\r\n );\r\n else if (p instanceof THREE.DirectionalLight)\r\n p.shadowCamera = new THREE.OrthographicCamera(\r\n p.shadowCameraLeft,\r\n p.shadowCameraRight,\r\n p.shadowCameraTop,\r\n p.shadowCameraBottom,\r\n p.shadowCameraNear,\r\n p.shadowCameraFar\r\n );\r\n else {\r\n console.error(\"Unsupported light type for shadow\");\r\n continue;\r\n }\r\n m.add(p.shadowCamera);\r\n b.autoUpdateScene && m.updateMatrixWorld();\r\n }\r\n p.shadowCameraVisible &&\r\n !p.cameraHelper &&\r\n ((p.cameraHelper = new THREE.CameraHelper(p.shadowCamera)),\r\n p.shadowCamera.add(p.cameraHelper));\r\n if (p.isVirtual && C.originalCamera == n) {\r\n y = n;\r\n q = p.shadowCamera;\r\n v = p.pointsFrustum;\r\n A = p.pointsWorld;\r\n i.set(Infinity, Infinity, Infinity);\r\n k.set(-Infinity, -Infinity, -Infinity);\r\n for (z = 0; 8 > z; z++)\r\n (t = A[z]),\r\n t.copy(v[z]),\r\n THREE.ShadowMapPlugin.__projector.unprojectVector(t, y),\r\n t.applyMatrix4(q.matrixWorldInverse),\r\n t.x < i.x && (i.x = t.x),\r\n t.x > k.x && (k.x = t.x),\r\n t.y < i.y && (i.y = t.y),\r\n t.y > k.y && (k.y = t.y),\r\n t.z < i.z && (i.z = t.z),\r\n t.z > k.z && (k.z = t.z);\r\n q.left = i.x;\r\n q.right = k.x;\r\n q.top = k.y;\r\n q.bottom = i.y;\r\n q.updateProjectionMatrix();\r\n }\r\n q = p.shadowMap;\r\n v = p.shadowMatrix;\r\n y = p.shadowCamera;\r\n y.position.getPositionFromMatrix(p.matrixWorld);\r\n l.getPositionFromMatrix(p.target.matrixWorld);\r\n y.lookAt(l);\r\n y.updateMatrixWorld();\r\n y.matrixWorldInverse.getInverse(y.matrixWorld);\r\n p.cameraHelper && (p.cameraHelper.visible = p.shadowCameraVisible);\r\n p.shadowCameraVisible && p.cameraHelper.update();\r\n v.set(0.5, 0, 0, 0.5, 0, 0.5, 0, 0.5, 0, 0, 0.5, 0.5, 0, 0, 0, 1);\r\n v.multiply(y.projectionMatrix);\r\n v.multiply(y.matrixWorldInverse);\r\n h.multiplyMatrices(y.projectionMatrix, y.matrixWorldInverse);\r\n g.setFromMatrix(h);\r\n b.setRenderTarget(q);\r\n b.clear();\r\n A = m.__webglObjects;\r\n p = 0;\r\n for (q = A.length; p < q; p++)\r\n if (\r\n ((z = A[p]),\r\n (v = z.object),\r\n (z.render = !1),\r\n v.visible &&\r\n v.castShadow &&\r\n (!(v instanceof THREE.Mesh || v instanceof THREE.ParticleSystem) ||\r\n !v.frustumCulled ||\r\n g.intersectsObject(v)))\r\n )\r\n v._modelViewMatrix.multiplyMatrices(\r\n y.matrixWorldInverse,\r\n v.matrixWorld\r\n ),\r\n (z.render = !0);\r\n p = 0;\r\n for (q = A.length; p < q; p++)\r\n (z = A[p]),\r\n z.render &&\r\n ((v = z.object),\r\n (z = z.buffer),\r\n (x =\r\n v.material instanceof THREE.MeshFaceMaterial\r\n ? v.material.materials[0]\r\n : v.material),\r\n (t = 0 < v.geometry.morphTargets.length && x.morphTargets),\r\n (x = v instanceof THREE.SkinnedMesh && x.skinning),\r\n (t = v.customDepthMaterial\r\n ? v.customDepthMaterial\r\n : x\r\n ? t\r\n ? f\r\n : e\r\n : t\r\n ? d\r\n : c),\r\n z instanceof THREE.BufferGeometry\r\n ? b.renderBufferDirect(y, m.__lights, null, t, z, v)\r\n : b.renderBuffer(y, m.__lights, null, t, z, v));\r\n A = m.__webglObjectsImmediate;\r\n p = 0;\r\n for (q = A.length; p < q; p++)\r\n (z = A[p]),\r\n (v = z.object),\r\n v.visible &&\r\n v.castShadow &&\r\n (v._modelViewMatrix.multiplyMatrices(\r\n y.matrixWorldInverse,\r\n v.matrixWorld\r\n ),\r\n b.renderImmediateObject(y, m.__lights, null, c, v));\r\n }\r\n s = b.getClearColor();\r\n r = b.getClearAlpha();\r\n a.clearColor(s.r, s.g, s.b, r);\r\n a.enable(a.BLEND);\r\n b.shadowMapCullFace === THREE.CullFaceFront && a.cullFace(a.BACK);\r\n };\r\n};\r\nTHREE.ShadowMapPlugin.__projector = new THREE.Projector();\r\nTHREE.SpritePlugin = function() {\r\n function a(a, b) {\r\n return a.z !== b.z ? b.z - a.z : b.id - a.id;\r\n }\r\n var b, c, d, e, f, g, h, i, k, l;\r\n this.init = function(a) {\r\n b = a.context;\r\n c = a;\r\n d = a.getPrecision();\r\n e = new Float32Array(16);\r\n f = new Uint16Array(6);\r\n a = 0;\r\n e[a++] = -1;\r\n e[a++] = -1;\r\n e[a++] = 0;\r\n e[a++] = 0;\r\n e[a++] = 1;\r\n e[a++] = -1;\r\n e[a++] = 1;\r\n e[a++] = 0;\r\n e[a++] = 1;\r\n e[a++] = 1;\r\n e[a++] = 1;\r\n e[a++] = 1;\r\n e[a++] = -1;\r\n e[a++] = 1;\r\n e[a++] = 0;\r\n e[a++] = 1;\r\n a = 0;\r\n f[a++] = 0;\r\n f[a++] = 1;\r\n f[a++] = 2;\r\n f[a++] = 0;\r\n f[a++] = 2;\r\n f[a++] = 3;\r\n g = b.createBuffer();\r\n h = b.createBuffer();\r\n b.bindBuffer(b.ARRAY_BUFFER, g);\r\n b.bufferData(b.ARRAY_BUFFER, e, b.STATIC_DRAW);\r\n b.bindBuffer(b.ELEMENT_ARRAY_BUFFER, h);\r\n b.bufferData(b.ELEMENT_ARRAY_BUFFER, f, b.STATIC_DRAW);\r\n var a = THREE.ShaderSprite.sprite,\r\n n = b.createProgram(),\r\n s = b.createShader(b.FRAGMENT_SHADER),\r\n r = b.createShader(b.VERTEX_SHADER),\r\n p = \"precision \" + d + \" float;\\n\";\r\n b.shaderSource(s, p + a.fragmentShader);\r\n b.shaderSource(r, p + a.vertexShader);\r\n b.compileShader(s);\r\n b.compileShader(r);\r\n b.attachShader(n, s);\r\n b.attachShader(n, r);\r\n b.linkProgram(n);\r\n i = n;\r\n k = {};\r\n l = {};\r\n k.position = b.getAttribLocation(i, \"position\");\r\n k.uv = b.getAttribLocation(i, \"uv\");\r\n l.uvOffset = b.getUniformLocation(i, \"uvOffset\");\r\n l.uvScale = b.getUniformLocation(i, \"uvScale\");\r\n l.rotation = b.getUniformLocation(i, \"rotation\");\r\n l.scale = b.getUniformLocation(i, \"scale\");\r\n l.alignment = b.getUniformLocation(i, \"alignment\");\r\n l.color = b.getUniformLocation(i, \"color\");\r\n l.map = b.getUniformLocation(i, \"map\");\r\n l.opacity = b.getUniformLocation(i, \"opacity\");\r\n l.useScreenCoordinates = b.getUniformLocation(i, \"useScreenCoordinates\");\r\n l.sizeAttenuation = b.getUniformLocation(i, \"sizeAttenuation\");\r\n l.screenPosition = b.getUniformLocation(i, \"screenPosition\");\r\n l.modelViewMatrix = b.getUniformLocation(i, \"modelViewMatrix\");\r\n l.projectionMatrix = b.getUniformLocation(i, \"projectionMatrix\");\r\n l.fogType = b.getUniformLocation(i, \"fogType\");\r\n l.fogDensity = b.getUniformLocation(i, \"fogDensity\");\r\n l.fogNear = b.getUniformLocation(i, \"fogNear\");\r\n l.fogFar = b.getUniformLocation(i, \"fogFar\");\r\n l.fogColor = b.getUniformLocation(i, \"fogColor\");\r\n l.alphaTest = b.getUniformLocation(i, \"alphaTest\");\r\n };\r\n this.render = function(d, e, f, r) {\r\n var p = d.__webglSprites,\r\n q = p.length;\r\n if (q) {\r\n var y = k,\r\n v = l,\r\n z = r / f,\r\n f = 0.5 * f,\r\n t = 0.5 * r;\r\n b.useProgram(i);\r\n b.enableVertexAttribArray(y.position);\r\n b.enableVertexAttribArray(y.uv);\r\n b.disable(b.CULL_FACE);\r\n b.enable(b.BLEND);\r\n b.bindBuffer(b.ARRAY_BUFFER, g);\r\n b.vertexAttribPointer(y.position, 2, b.FLOAT, !1, 16, 0);\r\n b.vertexAttribPointer(y.uv, 2, b.FLOAT, !1, 16, 8);\r\n b.bindBuffer(b.ELEMENT_ARRAY_BUFFER, h);\r\n b.uniformMatrix4fv(v.projectionMatrix, !1, e.projectionMatrix.elements);\r\n b.activeTexture(b.TEXTURE0);\r\n b.uniform1i(v.map, 0);\r\n var A = (y = 0),\r\n I = d.fog;\r\n I\r\n ? (b.uniform3f(v.fogColor, I.color.r, I.color.g, I.color.b),\r\n I instanceof THREE.Fog\r\n ? (b.uniform1f(v.fogNear, I.near),\r\n b.uniform1f(v.fogFar, I.far),\r\n b.uniform1i(v.fogType, 1),\r\n (A = y = 1))\r\n : I instanceof THREE.FogExp2 &&\r\n (b.uniform1f(v.fogDensity, I.density),\r\n b.uniform1i(v.fogType, 2),\r\n (A = y = 2)))\r\n : (b.uniform1i(v.fogType, 0), (A = y = 0));\r\n for (var C, x, G = [], I = 0; I < q; I++)\r\n (C = p[I]),\r\n (x = C.material),\r\n C.visible &&\r\n 0 !== x.opacity &&\r\n (x.useScreenCoordinates\r\n ? (C.z = -C.position.z)\r\n : (C._modelViewMatrix.multiplyMatrices(\r\n e.matrixWorldInverse,\r\n C.matrixWorld\r\n ),\r\n (C.z = -C._modelViewMatrix.elements[14])));\r\n p.sort(a);\r\n for (I = 0; I < q; I++)\r\n (C = p[I]),\r\n (x = C.material),\r\n C.visible &&\r\n 0 !== x.opacity &&\r\n x.map &&\r\n x.map.image &&\r\n x.map.image.width &&\r\n (b.uniform1f(v.alphaTest, x.alphaTest),\r\n !0 === x.useScreenCoordinates\r\n ? (b.uniform1i(v.useScreenCoordinates, 1),\r\n b.uniform3f(\r\n v.screenPosition,\r\n (C.position.x * c.devicePixelRatio - f) / f,\r\n (t - C.position.y * c.devicePixelRatio) / t,\r\n Math.max(0, Math.min(1, C.position.z))\r\n ),\r\n (G[0] = c.devicePixelRatio),\r\n (G[1] = c.devicePixelRatio))\r\n : (b.uniform1i(v.useScreenCoordinates, 0),\r\n b.uniform1i(v.sizeAttenuation, x.sizeAttenuation ? 1 : 0),\r\n b.uniformMatrix4fv(\r\n v.modelViewMatrix,\r\n !1,\r\n C._modelViewMatrix.elements\r\n ),\r\n (G[0] = 1),\r\n (G[1] = 1)),\r\n (e = d.fog && x.fog ? A : 0),\r\n y !== e && (b.uniform1i(v.fogType, e), (y = e)),\r\n (e = 1 / (x.scaleByViewport ? r : 1)),\r\n (G[0] *= e * z * C.scale.x),\r\n (G[1] *= e * C.scale.y),\r\n b.uniform2f(v.uvScale, x.uvScale.x, x.uvScale.y),\r\n b.uniform2f(v.uvOffset, x.uvOffset.x, x.uvOffset.y),\r\n b.uniform2f(v.alignment, x.alignment.x, x.alignment.y),\r\n b.uniform1f(v.opacity, x.opacity),\r\n b.uniform3f(v.color, x.color.r, x.color.g, x.color.b),\r\n b.uniform1f(v.rotation, C.rotation),\r\n b.uniform2fv(v.scale, G),\r\n c.setBlending(x.blending, x.blendEquation, x.blendSrc, x.blendDst),\r\n c.setDepthTest(x.depthTest),\r\n c.setDepthWrite(x.depthWrite),\r\n c.setTexture(x.map, 0),\r\n b.drawElements(b.TRIANGLES, 6, b.UNSIGNED_SHORT, 0));\r\n b.enable(b.CULL_FACE);\r\n }\r\n };\r\n};\r\nTHREE.DepthPassPlugin = function() {\r\n this.enabled = !1;\r\n this.renderTarget = null;\r\n var a,\r\n b,\r\n c,\r\n d,\r\n e,\r\n f,\r\n g = new THREE.Frustum(),\r\n h = new THREE.Matrix4();\r\n this.init = function(g) {\r\n a = g.context;\r\n b = g;\r\n var g = THREE.ShaderLib.depthRGBA,\r\n h = THREE.UniformsUtils.clone(g.uniforms);\r\n c = new THREE.ShaderMaterial({\r\n fragmentShader: g.fragmentShader,\r\n vertexShader: g.vertexShader,\r\n uniforms: h\r\n });\r\n d = new THREE.ShaderMaterial({\r\n fragmentShader: g.fragmentShader,\r\n vertexShader: g.vertexShader,\r\n uniforms: h,\r\n morphTargets: !0\r\n });\r\n e = new THREE.ShaderMaterial({\r\n fragmentShader: g.fragmentShader,\r\n vertexShader: g.vertexShader,\r\n uniforms: h,\r\n skinning: !0\r\n });\r\n f = new THREE.ShaderMaterial({\r\n fragmentShader: g.fragmentShader,\r\n vertexShader: g.vertexShader,\r\n uniforms: h,\r\n morphTargets: !0,\r\n skinning: !0\r\n });\r\n c._shadowPass = !0;\r\n d._shadowPass = !0;\r\n e._shadowPass = !0;\r\n f._shadowPass = !0;\r\n };\r\n this.render = function(a, b) {\r\n this.enabled && this.update(a, b);\r\n };\r\n this.update = function(i, k) {\r\n var l, m, n, s, r, p;\r\n a.clearColor(1, 1, 1, 1);\r\n a.disable(a.BLEND);\r\n b.setDepthTest(!0);\r\n b.autoUpdateScene && i.updateMatrixWorld();\r\n k.matrixWorldInverse.getInverse(k.matrixWorld);\r\n h.multiplyMatrices(k.projectionMatrix, k.matrixWorldInverse);\r\n g.setFromMatrix(h);\r\n b.setRenderTarget(this.renderTarget);\r\n b.clear();\r\n p = i.__webglObjects;\r\n l = 0;\r\n for (m = p.length; l < m; l++)\r\n if (\r\n ((n = p[l]),\r\n (r = n.object),\r\n (n.render = !1),\r\n r.visible &&\r\n (!(r instanceof THREE.Mesh || r instanceof THREE.ParticleSystem) ||\r\n !r.frustumCulled ||\r\n g.intersectsObject(r)))\r\n )\r\n r._modelViewMatrix.multiplyMatrices(\r\n k.matrixWorldInverse,\r\n r.matrixWorld\r\n ),\r\n (n.render = !0);\r\n var q;\r\n l = 0;\r\n for (m = p.length; l < m; l++)\r\n if (\r\n ((n = p[l]),\r\n n.render &&\r\n ((r = n.object),\r\n (n = n.buffer),\r\n !(r instanceof THREE.ParticleSystem) || r.customDepthMaterial))\r\n )\r\n (q =\r\n r.material instanceof THREE.MeshFaceMaterial\r\n ? r.material.materials[0]\r\n : r.material) && b.setMaterialFaces(r.material),\r\n (s = 0 < r.geometry.morphTargets.length && q.morphTargets),\r\n (q = r instanceof THREE.SkinnedMesh && q.skinning),\r\n (s = r.customDepthMaterial\r\n ? r.customDepthMaterial\r\n : q\r\n ? s\r\n ? f\r\n : e\r\n : s\r\n ? d\r\n : c),\r\n n instanceof THREE.BufferGeometry\r\n ? b.renderBufferDirect(k, i.__lights, null, s, n, r)\r\n : b.renderBuffer(k, i.__lights, null, s, n, r);\r\n p = i.__webglObjectsImmediate;\r\n l = 0;\r\n for (m = p.length; l < m; l++)\r\n (n = p[l]),\r\n (r = n.object),\r\n r.visible &&\r\n (r._modelViewMatrix.multiplyMatrices(\r\n k.matrixWorldInverse,\r\n r.matrixWorld\r\n ),\r\n b.renderImmediateObject(k, i.__lights, null, c, r));\r\n l = b.getClearColor();\r\n m = b.getClearAlpha();\r\n a.clearColor(l.r, l.g, l.b, m);\r\n a.enable(a.BLEND);\r\n };\r\n};\r\nTHREE.ShaderFlares = {\r\n lensFlareVertexTexture: {\r\n vertexShader:\r\n \"uniform lowp int renderType;\\nuniform vec3 screenPosition;\\nuniform vec2 scale;\\nuniform float rotation;\\nuniform sampler2D occlusionMap;\\nattribute vec2 position;\\nattribute vec2 uv;\\nvarying vec2 vUV;\\nvarying float vVisibility;\\nvoid main() {\\nvUV = uv;\\nvec2 pos = position;\\nif( renderType == 2 ) {\\nvec4 visibility = texture2D( occlusionMap, vec2( 0.1, 0.1 ) ) +\\ntexture2D( occlusionMap, vec2( 0.5, 0.1 ) ) +\\ntexture2D( occlusionMap, vec2( 0.9, 0.1 ) ) +\\ntexture2D( occlusionMap, vec2( 0.9, 0.5 ) ) +\\ntexture2D( occlusionMap, vec2( 0.9, 0.9 ) ) +\\ntexture2D( occlusionMap, vec2( 0.5, 0.9 ) ) +\\ntexture2D( occlusionMap, vec2( 0.1, 0.9 ) ) +\\ntexture2D( occlusionMap, vec2( 0.1, 0.5 ) ) +\\ntexture2D( occlusionMap, vec2( 0.5, 0.5 ) );\\nvVisibility = ( visibility.r / 9.0 ) *\\n( 1.0 - visibility.g / 9.0 ) *\\n( visibility.b / 9.0 ) *\\n( 1.0 - visibility.a / 9.0 );\\npos.x = cos( rotation ) * position.x - sin( rotation ) * position.y;\\npos.y = sin( rotation ) * position.x + cos( rotation ) * position.y;\\n}\\ngl_Position = vec4( ( pos * scale + screenPosition.xy ).xy, screenPosition.z, 1.0 );\\n}\",\r\n fragmentShader:\r\n \"uniform lowp int renderType;\\nuniform sampler2D map;\\nuniform float opacity;\\nuniform vec3 color;\\nvarying vec2 vUV;\\nvarying float vVisibility;\\nvoid main() {\\nif( renderType == 0 ) {\\ngl_FragColor = vec4( 1.0, 0.0, 1.0, 0.0 );\\n} else if( renderType == 1 ) {\\ngl_FragColor = texture2D( map, vUV );\\n} else {\\nvec4 texture = texture2D( map, vUV );\\ntexture.a *= opacity * vVisibility;\\ngl_FragColor = texture;\\ngl_FragColor.rgb *= color;\\n}\\n}\"\r\n },\r\n lensFlare: {\r\n vertexShader:\r\n \"uniform lowp int renderType;\\nuniform vec3 screenPosition;\\nuniform vec2 scale;\\nuniform float rotation;\\nattribute vec2 position;\\nattribute vec2 uv;\\nvarying vec2 vUV;\\nvoid main() {\\nvUV = uv;\\nvec2 pos = position;\\nif( renderType == 2 ) {\\npos.x = cos( rotation ) * position.x - sin( rotation ) * position.y;\\npos.y = sin( rotation ) * position.x + cos( rotation ) * position.y;\\n}\\ngl_Position = vec4( ( pos * scale + screenPosition.xy ).xy, screenPosition.z, 1.0 );\\n}\",\r\n fragmentShader:\r\n \"precision mediump float;\\nuniform lowp int renderType;\\nuniform sampler2D map;\\nuniform sampler2D occlusionMap;\\nuniform float opacity;\\nuniform vec3 color;\\nvarying vec2 vUV;\\nvoid main() {\\nif( renderType == 0 ) {\\ngl_FragColor = vec4( texture2D( map, vUV ).rgb, 0.0 );\\n} else if( renderType == 1 ) {\\ngl_FragColor = texture2D( map, vUV );\\n} else {\\nfloat visibility = texture2D( occlusionMap, vec2( 0.5, 0.1 ) ).a +\\ntexture2D( occlusionMap, vec2( 0.9, 0.5 ) ).a +\\ntexture2D( occlusionMap, vec2( 0.5, 0.9 ) ).a +\\ntexture2D( occlusionMap, vec2( 0.1, 0.5 ) ).a;\\nvisibility = ( 1.0 - visibility / 4.0 );\\nvec4 texture = texture2D( map, vUV );\\ntexture.a *= opacity * visibility;\\ngl_FragColor = texture;\\ngl_FragColor.rgb *= color;\\n}\\n}\"\r\n }\r\n};\r\nTHREE.ShaderSprite = {\r\n sprite: {\r\n vertexShader:\r\n \"uniform int useScreenCoordinates;\\nuniform int sizeAttenuation;\\nuniform vec3 screenPosition;\\nuniform mat4 modelViewMatrix;\\nuniform mat4 projectionMatrix;\\nuniform float rotation;\\nuniform vec2 scale;\\nuniform vec2 alignment;\\nuniform vec2 uvOffset;\\nuniform vec2 uvScale;\\nattribute vec2 position;\\nattribute vec2 uv;\\nvarying vec2 vUV;\\nvoid main() {\\nvUV = uvOffset + uv * uvScale;\\nvec2 alignedPosition = position + alignment;\\nvec2 rotatedPosition;\\nrotatedPosition.x = ( cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y ) * scale.x;\\nrotatedPosition.y = ( sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y ) * scale.y;\\nvec4 finalPosition;\\nif( useScreenCoordinates != 0 ) {\\nfinalPosition = vec4( screenPosition.xy + rotatedPosition, screenPosition.z, 1.0 );\\n} else {\\nfinalPosition = projectionMatrix * modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );\\nfinalPosition.xy += rotatedPosition * ( sizeAttenuation == 1 ? 1.0 : finalPosition.z );\\n}\\ngl_Position = finalPosition;\\n}\",\r\n fragmentShader:\r\n \"uniform vec3 color;\\nuniform sampler2D map;\\nuniform float opacity;\\nuniform int fogType;\\nuniform vec3 fogColor;\\nuniform float fogDensity;\\nuniform float fogNear;\\nuniform float fogFar;\\nuniform float alphaTest;\\nvarying vec2 vUV;\\nvoid main() {\\nvec4 texture = texture2D( map, vUV );\\nif ( texture.a < alphaTest ) discard;\\ngl_FragColor = vec4( color * texture.xyz, texture.a * opacity );\\nif ( fogType > 0 ) {\\nfloat depth = gl_FragCoord.z / gl_FragCoord.w;\\nfloat fogFactor = 0.0;\\nif ( fogType == 1 ) {\\nfogFactor = smoothstep( fogNear, fogFar, depth );\\n} else {\\nconst float LOG2 = 1.442695;\\nfloat fogFactor = exp2( - fogDensity * fogDensity * depth * depth * LOG2 );\\nfogFactor = 1.0 - clamp( fogFactor, 0.0, 1.0 );\\n}\\ngl_FragColor = mix( gl_FragColor, vec4( fogColor, gl_FragColor.w ), fogFactor );\\n}\\n}\"\r\n }\r\n};\r\n","\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ $store.state.adminSetting.adst02 || \"BIM协同管理云平台\" }}大数据\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ viewData.trueData.companySum }}\r\n \r\n 企业总数\r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ viewData.trueData.projectSum }}\r\n \r\n 项目总数\r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ viewData.trueData.userSum }}\r\n \r\n 用户总数\r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ viewData.trueData.modelSum }}\r\n \r\n 模型总数\r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ viewData.trueData.modelSize }}GB\r\n \r\n 模型容量\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 男女占比\r\n \r\n \r\n \r\n \r\n 男\r\n \r\n {{ manCount.toFixed(2) * 100 }}%\r\n \r\n \r\n \r\n \r\n \r\n \r\n 女\r\n \r\n {{ girlCount.toFixed(2) * 100 }}%\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 年龄占比\r\n \r\n \r\n \r\n \r\n {{ item.name }}\r\n {{ item.value }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 登录人数统计\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 企业类别情况\r\n \r\n \r\n \r\n \r\n \r\n 业务数据统计\r\n \r\n \r\n \r\n \r\n \r\n 模型上传总量\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n","module.exports = __webpack_public_path__ + \"img/Group 936.f89c1ae9.png\";"],"sourceRoot":""}
男
\r\n {{ manCount.toFixed(2) * 100 }}%\r\n
女
\r\n {{ girlCount.toFixed(2) * 100 }}%\r\n