q);v="position normal uv uv2 tangent color skinIndex skinWeight lineDistance".split("");for(y=0;y<c.maxMorphTargets;y++)v.push("morphTarget"+y);for(y=0;y<c.maxMorphNormals;y++)v.push("morphNormal"+y);for(linb)v.push(l);l=v;y=0;for(b=l.length;y<b;y++)v=l[y],x.attributes[v]=m.getAttribLocation(x,v);x.id=Ja++;ea.push({program:x,code:r,usedTimes:1});P.info.memory.programs=ea.length;l=x}a.program=l;y=a.program.attributes;if(a.morphTargets)for(a.numSupportedMorphTargets=0,b="morphTarget",l=0;l<this.maxMorphTargets;l++)x=
for(y in q)v.push(y);y=v;v=0;for(w=y.length;v<w;v++)q=y[v],x.uniforms[q]=m.getUniformLocation(x,q);v="position normal uv uv2 tangent color skinIndex skinWeight lineDistance".split(" ");for(y=0;y<c.maxMorphTargets;y++)v.push("morphTarget"+y);for(y=0;y<c.maxMorphNormals;y++)v.push("morphNormal"+y);for(l in b)v.push(l);l=v;y=0;for(b=l.length;y<b;y++)v=l[y],x.attributes[v]=m.getAttribLocation(x,v);x.id=Ja++;ea.push({program:x,code:r,usedTimes:1});P.info.memory.programs=ea.length;l=x}a.program=l;y=a.program.attributes;
if(a.morphTargets)for(a.numSupportedMorphTargets=0,b="morphTarget",l=0;l<this.maxMorphTargets;l++)x=b+l,0<=y[x]&&a.numSupportedMorphTargets++;if(a.morphNormals)for(a.numSupportedMorphNormals=0,b="morphNormal",l=0;l<this.maxMorphNormals;l++)x=b+l,0<=y[x]&&a.numSupportedMorphNormals++;a.uniformsList=[];for(k in a.uniforms)a.uniformsList.push([a.uniforms[k],k])};this.setFaceCulling=function(a,b){a===THREE.CullFaceNone?m.disable(m.CULL_FACE):(b===THREE.FrontFaceDirectionCW?m.frontFace(m.CW):m.frontFace(m.CCW),