var zpp_nape;(function(a){var b;(function(e){var d=nape.geom.Vec2;var c=(function(){function f(){}f.indicator=function(l,m,k,h,j){var i=d.get(Math.cos(k),Math.sin(k));l.drawFilledCircle(m.add(i.mul(h,true),true),2,j);i.dispose()};f.drawSpiralSpring=function(T,Y,N,M,r,q,k,Q){if(Q===void 0){Q=4}if(N>M){var K=N;N=M;M=K;var F=r;r=q;q=F}if(N==M){return}var h=q-r;var v=M-N;var J=2*Math.PI*h/v;var B=((J<0)?-J:J);var u=Math.ceil(v/a.constraint.ZPP_AngleDraw.maxarc*3);var H=4*Q;var z=((u>H)?u:H);var O=v/z;var w=1/z;var l=Math.cos(N);var aa=Math.sin(N);var L=r+h*0;var I=L+0.75*B*Math.sin(2*Q*Math.PI*0);var X=d.get(Y.x+I*l,Y.y+I*aa);var W=h+1.5*Q*B*Math.PI*Math.cos(2*Q*Math.PI*0);var D=W*l-I*v*aa;var C=W*aa+I*v*l;var V=d.get(0,0,false);var A=d.get(0,0,false);var R=0;while(R0.999){T.drawLine(X,V,k)}else{var E=((V.x-X.x)*m+(X.y-V.y)*n)/s;if(E<=0){T.drawLine(X,V,k)}else{A.x=X.x+D*E;A.y=X.y+C*E;T.drawCurve(X,A,V,k)}}N=o;l=j;aa=Z;D=n;C=m;X.set(V)}X.dispose();V.dispose();A.dispose()};f.drawSpiral=function(F,I,L,K,E,D,n){if(L>K){var u=L;L=K;K=u;var s=E;E=D;D=s}if(L==K){return}var y=D-E;var J=K-L;var z=Math.ceil(J/a.constraint.ZPP_AngleDraw.maxarc);var H=y/z;var G=J/z;var B=Math.cos(L);var k=Math.sin(L);var j=d.get(I.x+E*B,I.y+E*k);var o=y*B-E*J*k;var m=y*k+E*J*B;var h=d.get(0,0,false);var l=d.get(0,0,false);var v=0;while(vC){var s=z;z=C;C=s}if(G.body1.rotation>z){var q=G.body1.rotation;var p=C;var v=((qo)?F:o);e.drawSpiral(E,G.body1.position,l,C,10+(l-z)*u,10+(C-z)*u,65535)}else{if(!this.stiff&&G.body1.rotation>C){e.drawSpiralSpring(E,G.body1.position,G.body1.rotation,C,10+(G.body1.rotation-z)*u,10+(C-z)*u,65535)}}e.indicator(E,G.body1.position,G.body1.rotation,10+(G.body1.rotation-z)*u,255)}if(G.body2!=G.body2.space.world){var A=(this.jointMin+G.body1.rotation)/G.ratio;var w=(this.jointMax+G.body1.rotation)/G.ratio;if(A>w){var r=A;A=w;w=r}if(G.body2.rotation>A){var D=G.body2.rotation;var n=w;var k=((Dm)?B:m);e.drawSpiral(E,G.body2.position,j,w,10+(j-A)*u,10+(w-A)*u,65535)}else{if(!this.stiff&&G.body2.rotation>w){e.drawSpiralSpring(E,G.body2.position,G.body2.rotation,w,10+(G.body2.rotation-A)*u,10+(w-A)*u,65535)}}e.indicator(E,G.body2.position,G.body2.rotation,10+(G.body2.rotation-A)*u,16711680)}};b.prototype.draw=function(q){var p=this.outer_zn;var m=p.anchor1;var l=p.body1.localPointToWorld(m);var o=p.anchor2;var j=p.body2.localPointToWorld(o);if(!this.stiff){var r=j.sub(l);var k=r.length;if(k!=0){q.drawSpring(l,j,16711935)}r.dispose()}q.drawFilledCircle(l,2,255);q.drawFilledCircle(j,2,16711680);l.dispose();j.dispose()};a.prototype.draw=function(q){var r=this.outer_zn;var p=r.anchor1;var l=r.body1.localPointToWorld(p);var o=r.anchor2;var k=r.body2.localPointToWorld(o);var m=k.sub(l);var j=m.length;if(j!=0){m.muleq(1/j);var u=l.add(k).muleq(0.5);var w=u.sub(m.mul(this.jointMin*0.5,true));var v=u.add(m.mul(this.jointMin*0.5,true));var t=u.sub(m.mul(this.jointMax*0.5,true));var s=u.add(m.mul(this.jointMax*0.5,true));q.drawLine(w,v,16776960);q.drawLine(t,w,65535);q.drawLine(s,v,65535);if(!this.stiff){if(j>this.jointMax){q.drawSpring(t,l,65535);q.drawSpring(s,k,65535)}else{if(j=zpp_nape.ZPP_Const.POSINF()){x=1000}var A=j.sub(k);var l=A.dot(m);A.dispose();var w=k.add(m.mul(p,true));var t=k.add(m.mul(x,true));if(l>p){var v=x;r.drawLine(w,k.add(m.mul(((lz)?l:z),true),true),t,65535)}if(!this.stiff){var s=((lthis.jointMax)?t.copy():k.add(m.mul(l,true))));r.drawSpring(s,j,16711935);s.dispose()}r.drawFilledCircle(k,2,255);r.drawFilledCircle(j,2,16711680);k.dispose();j.dispose();w.dispose();t.dispose()};h.prototype.draw=function(q){var t=this.outer_zn;var p=t.anchor1;var l=t.body1.localPointToWorld(p);var o=t.anchor2;var k=t.body2.localPointToWorld(o);var n=t.anchor3;var j=t.body3.localPointToWorld(n);var m=t.anchor4;var w=t.body4.localPointToWorld(m);var s=k.sub(l);var v=w.sub(j);var r=s.length;var u=v.length;this.drawLink(q,l,k,s,r,u*this.ratio,1,16776960,65535);this.drawLink(q,j,w,v,u,r,1/this.ratio,65535,16711935);q.drawFilledCircle(l,2,255);q.drawFilledCircle(k,2,16711680);q.drawFilledCircle(j,2,65280);q.drawFilledCircle(w,2,16711935);l.dispose();k.dispose();j.dispose();w.dispose();s.dispose();v.dispose()};h.prototype.drawLink=function(r,l,k,m,j,s,p,q,o){if(j!=0){m.muleq(1/j);var w=l.add(k).muleq(0.5);var t=(this.jointMin-s)*p;if(t<0){t=0}var x=(this.jointMax-s)*p;if(x<0){x=0}var z=w.sub(m.mul(t*0.5,true));var y=w.add(m.mul(t*0.5,true));var v=w.sub(m.mul(x*0.5,true));var u=w.add(m.mul(x*0.5,true));r.drawLine(z,y,q);r.drawLine(v,z,o);r.drawLine(u,y,o);if(!this.stiff){if(j>x){r.drawSpring(v,l,o);r.drawSpring(u,k,o)}else{if(jw){var y=p;p=w;w=y}e.drawSpiralSpring(u,v.body1.position,p,w,10+(p-p)*q,10+(w-p)*q,16711808);e.indicator(u,v.body1.position,v.body1.rotation,10+(v.body1.rotation-p)*q,16711808)}if(v.body2!=v.body2.space.world){var x=v.phase+v.body1.rotation;var z=v.body2.rotation;if(z>x){var s=z;z=x;x=s}e.drawSpiralSpring(u,v.body2.position,z,x,10+(z-z)*q,10+(x-z)*q,8388863);e.indicator(u,v.body2.position,v.body2.rotation,10+(v.body2.rotation-z)*q,8388863)}}u.drawFilledCircle(l,2,255);u.drawFilledCircle(k,2,16711680);l.dispose();k.dispose()}})(nape_DebugDraw||(nape_DebugDraw={}));var nape;(function(b){var a;(function(aP){var g=b.constraint.ConstraintIterator;var ay=b.phys.InteractorIterator;var s=b.phys.BodyIterator;var G=b.phys.CompoundIterator;var aX=b.callbacks.ListenerIterator;var k=b.callbacks.CbTypeIterator;var aU=b.geom.ConvexResultIterator;var aZ=b.geom.GeomPolyIterator;var A=b.geom.RayResultIterator;var o=b.geom.Vec2Iterator;var aY=b.shape.ShapeIterator;var aG=b.shape.EdgeIterator;var aL=b.dynamics.ContactIterator;var v=b.dynamics.ArbiterIterator;var Y=b.dynamics.InteractionGroupIterator;var aq=zpp_nape.util.ZNPNode_ZPP_CbType;var B=zpp_nape.util.ZNPNode_ZPP_CallbackSet;var a2=zpp_nape.phys.ZPP_Material;var P=zpp_nape.util.ZNPNode_ZPP_Shape;var aQ=zpp_nape.phys.ZPP_FluidProperties;var ax=zpp_nape.util.ZNPNode_ZPP_Body;var K=zpp_nape.util.ZNPNode_ZPP_Constraint;var u=zpp_nape.util.ZNPNode_ZPP_Compound;var r=zpp_nape.util.ZNPNode_ZPP_Arbiter;var L=zpp_nape.util.ZPP_Set_ZPP_Body;var aS=zpp_nape.callbacks.ZPP_CbSetPair;var m=zpp_nape.util.ZNPNode_ZPP_InteractionListener;var R=zpp_nape.util.ZNPNode_ZPP_CbSet;var aI=zpp_nape.util.ZNPNode_ZPP_Interactor;var aw=zpp_nape.util.ZNPNode_ZPP_BodyListener;var F=zpp_nape.callbacks.ZPP_Callback;var Z=zpp_nape.callbacks.ZPP_CbSet;var aA=zpp_nape.util.ZNPNode_ZPP_CbSetPair;var av=zpp_nape.util.ZNPNode_ZPP_ConstraintListener;var J=zpp_nape.geom.ZPP_GeomVertexIterator;var aH=zpp_nape.geom.ZPP_GeomVert;var j=zpp_nape.geom.ZPP_Mat23;var h=zpp_nape.util.ZPP_Set_ZPP_CbSetPair;var i=zpp_nape.geom.ZPP_CutVert;var x=zpp_nape.geom.ZPP_CutInt;var au=zpp_nape.util.ZNPNode_ZPP_CutInt;var aO=zpp_nape.util.ZNPNode_ZPP_CutVert;var e=zpp_nape.geom.ZPP_Vec2;var d=zpp_nape.util.ZNPNode_ZPP_PartitionVertex;var z=zpp_nape.geom.ZPP_PartitionVertex;var t=zpp_nape.util.ZPP_Set_ZPP_PartitionVertex;var I=zpp_nape.geom.ZPP_SimplifyV;var N=zpp_nape.geom.ZPP_SimplifyP;var aK=zpp_nape.geom.ZPP_PartitionedPoly;var q=zpp_nape.util.ZNPNode_ZPP_SimplifyP;var al=zpp_nape.util.ZNPNode_ZPP_PartitionedPoly;var aF=zpp_nape.util.ZPP_Set_ZPP_PartitionPair;var aR=zpp_nape.util.ZNPNode_ZPP_GeomVert;var aV=zpp_nape.geom.ZPP_AABB;var af=zpp_nape.util.ZPP_Set_ZPP_SimpleVert;var aT=zpp_nape.geom.ZPP_PartitionPair;var ak=zpp_nape.geom.ZPP_SimpleVert;var aW=zpp_nape.geom.ZPP_SimpleSeg;var p=zpp_nape.util.ZPP_Set_ZPP_SimpleSeg;var ad=zpp_nape.util.ZPP_Set_ZPP_SimpleEvent;var w=zpp_nape.geom.ZPP_SimpleEvent;var ac=zpp_nape.util.Hashable2_Boolfalse;var y=zpp_nape.geom.ZPP_ToiEvent;var ab=zpp_nape.util.ZNPNode_ZPP_SimpleVert;var aM=zpp_nape.util.ZNPNode_ZPP_SimpleEvent;var T=zpp_nape.geom.ZPP_MarchSpan;var ae=zpp_nape.geom.ZPP_MarchPair;var f=zpp_nape.util.ZNPNode_ZPP_Vec2;var aD=zpp_nape.shape.ZPP_Edge;var l=zpp_nape.util.ZNPNode_ZPP_AABBPair;var aE=zpp_nape.util.ZNPNode_ZPP_Edge;var az=zpp_nape.space.ZPP_SweepData;var W=zpp_nape.space.ZPP_AABBNode;var a3=zpp_nape.space.ZPP_AABBPair;var ag=zpp_nape.util.ZNPNode_ZPP_AABBNode;var am=zpp_nape.dynamics.ZPP_Contact;var aj=zpp_nape.util.ZNPNode_ZPP_Component;var ap=zpp_nape.space.ZPP_Island;var aC=zpp_nape.space.ZPP_Component;var ao=zpp_nape.space.ZPP_CallbackSet;var at=zpp_nape.util.ZPP_Set_ZPP_CbSet;var ah=zpp_nape.util.ZNPNode_ZPP_FluidArbiter;var ai=zpp_nape.dynamics.ZPP_ColArbiter;var X=zpp_nape.util.ZNPNode_ZPP_SensorArbiter;var a0=zpp_nape.util.ZNPNode_ZPP_Listener;var H=zpp_nape.util.ZNPNode_ZPP_ColArbiter;var O=zpp_nape.util.ZNPNode_ZPP_InteractionGroup;var M=zpp_nape.util.ZNPNode_ZPP_ToiEvent;var aN=zpp_nape.dynamics.ZPP_InteractionFilter;var n=zpp_nape.util.ZNPNode_ConvexResult;var Q=zpp_nape.util.ZNPNode_ZPP_GeomPoly;var c=zpp_nape.util.ZNPNode_RayResult;var E=zpp_nape.util.ZPP_PubPool;var aa=zpp_nape.dynamics.ZPP_SensorArbiter;var a1=zpp_nape.dynamics.ZPP_FluidArbiter;var ar=b.space.Space;var V=b.phys.Body;var aJ=b.geom.Vec2;var an=b.geom.Vec2List;var U=b.geom.GeomPoly;var D=b.phys.Compound;var S=b.shape.Shape;var aB=b.constraint.Constraint;var C=(function(){function a4(){this.zpp_inner=null;this.drawCollisionArbiters=false;this.drawFluidArbiters=false;this.drawSensorArbiters=false;this.drawBodies=false;this.drawBodyDetail=false;this.drawShapeDetail=false;this.drawShapeAngleIndicators=false;this.drawConstraints=false;this.cullingEnabled=false;this.drawCollisionArbiters=false;this.drawFluidArbiters=false;this.drawSensorArbiters=false;this.drawBodies=true;this.drawShapeAngleIndicators=true;this.drawBodyDetail=false;this.drawShapeDetail=false;this.drawConstraints=false;this.cullingEnabled=false;this.colour=null}a4.version=function(){return"Nape 2.0.19"};a4.clearObjectPools=function(){while(g.zpp_pool!=null){var a5=g.zpp_pool.zpp_next;g.zpp_pool.zpp_next=null;g.zpp_pool=a5}while(ay.zpp_pool!=null){var a5=ay.zpp_pool.zpp_next;ay.zpp_pool.zpp_next=null;ay.zpp_pool=a5}while(s.zpp_pool!=null){var a5=s.zpp_pool.zpp_next;s.zpp_pool.zpp_next=null;s.zpp_pool=a5}while(G.zpp_pool!=null){var a5=G.zpp_pool.zpp_next;G.zpp_pool.zpp_next=null;G.zpp_pool=a5}while(aX.zpp_pool!=null){var a5=aX.zpp_pool.zpp_next;aX.zpp_pool.zpp_next=null;aX.zpp_pool=a5}while(k.zpp_pool!=null){var a5=k.zpp_pool.zpp_next;k.zpp_pool.zpp_next=null;k.zpp_pool=a5}while(aU.zpp_pool!=null){var a5=aU.zpp_pool.zpp_next;aU.zpp_pool.zpp_next=null;aU.zpp_pool=a5}while(aZ.zpp_pool!=null){var a5=aZ.zpp_pool.zpp_next;aZ.zpp_pool.zpp_next=null;aZ.zpp_pool=a5}while(o.zpp_pool!=null){var a5=o.zpp_pool.zpp_next;o.zpp_pool.zpp_next=null;o.zpp_pool=a5}while(A.zpp_pool!=null){var a5=A.zpp_pool.zpp_next;A.zpp_pool.zpp_next=null;A.zpp_pool=a5}while(aY.zpp_pool!=null){var a5=aY.zpp_pool.zpp_next;aY.zpp_pool.zpp_next=null;aY.zpp_pool=a5}while(aG.zpp_pool!=null){var a5=aG.zpp_pool.zpp_next;aG.zpp_pool.zpp_next=null;aG.zpp_pool=a5}while(aL.zpp_pool!=null){var a5=aL.zpp_pool.zpp_next;aL.zpp_pool.zpp_next=null;aL.zpp_pool=a5}while(v.zpp_pool!=null){var a5=v.zpp_pool.zpp_next;v.zpp_pool.zpp_next=null;v.zpp_pool=a5}while(Y.zpp_pool!=null){var a5=Y.zpp_pool.zpp_next;Y.zpp_pool.zpp_next=null;Y.zpp_pool=a5}while(aq.zpp_pool!=null){var a5=aq.zpp_pool.next;aq.zpp_pool.next=null;aq.zpp_pool=a5}while(B.zpp_pool!=null){var a5=B.zpp_pool.next;B.zpp_pool.next=null;B.zpp_pool=a5}while(a2.zpp_pool!=null){var a5=a2.zpp_pool.next;a2.zpp_pool.next=null;a2.zpp_pool=a5}while(P.zpp_pool!=null){var a5=P.zpp_pool.next;P.zpp_pool.next=null;P.zpp_pool=a5}while(aQ.zpp_pool!=null){var a5=aQ.zpp_pool.next;aQ.zpp_pool.next=null;aQ.zpp_pool=a5}while(ax.zpp_pool!=null){var a5=ax.zpp_pool.next;ax.zpp_pool.next=null;ax.zpp_pool=a5}while(K.zpp_pool!=null){var a5=K.zpp_pool.next;K.zpp_pool.next=null;K.zpp_pool=a5}while(u.zpp_pool!=null){var a5=u.zpp_pool.next;u.zpp_pool.next=null;u.zpp_pool=a5}while(r.zpp_pool!=null){var a5=r.zpp_pool.next;r.zpp_pool.next=null;r.zpp_pool=a5}while(L.zpp_pool!=null){var a5=L.zpp_pool.next;L.zpp_pool.next=null;L.zpp_pool=a5}while(aS.zpp_pool!=null){var a5=aS.zpp_pool.next;aS.zpp_pool.next=null;aS.zpp_pool=a5}while(m.zpp_pool!=null){var a5=m.zpp_pool.next;m.zpp_pool.next=null;m.zpp_pool=a5}while(R.zpp_pool!=null){var a5=R.zpp_pool.next;R.zpp_pool.next=null;R.zpp_pool=a5}while(aI.zpp_pool!=null){var a5=aI.zpp_pool.next;aI.zpp_pool.next=null;aI.zpp_pool=a5}while(aw.zpp_pool!=null){var a5=aw.zpp_pool.next;aw.zpp_pool.next=null;aw.zpp_pool=a5}while(F.zpp_pool!=null){var a5=F.zpp_pool.next;F.zpp_pool.next=null;F.zpp_pool=a5}while(Z.zpp_pool!=null){var a5=Z.zpp_pool.next;Z.zpp_pool.next=null;Z.zpp_pool=a5}while(aA.zpp_pool!=null){var a5=aA.zpp_pool.next;aA.zpp_pool.next=null;aA.zpp_pool=a5}while(av.zpp_pool!=null){var a5=av.zpp_pool.next;av.zpp_pool.next=null;av.zpp_pool=a5}while(aH.zpp_pool!=null){var a5=aH.zpp_pool.next;aH.zpp_pool.next=null;aH.zpp_pool=a5}while(J.zpp_pool!=null){var a5=J.zpp_pool.next;J.zpp_pool.next=null;J.zpp_pool=a5}while(j.zpp_pool!=null){var a5=j.zpp_pool.next;j.zpp_pool.next=null;j.zpp_pool=a5}while(h.zpp_pool!=null){var a5=h.zpp_pool.next;h.zpp_pool.next=null;h.zpp_pool=a5}while(i.zpp_pool!=null){var a5=i.zpp_pool.next;i.zpp_pool.next=null;i.zpp_pool=a5}while(x.zpp_pool!=null){var a5=x.zpp_pool.next;x.zpp_pool.next=null;x.zpp_pool=a5}while(au.zpp_pool!=null){var a5=au.zpp_pool.next;au.zpp_pool.next=null;au.zpp_pool=a5}while(aO.zpp_pool!=null){var a5=aO.zpp_pool.next;aO.zpp_pool.next=null;aO.zpp_pool=a5}while(e.zpp_pool!=null){var a5=e.zpp_pool.next;e.zpp_pool.next=null;e.zpp_pool=a5}while(d.zpp_pool!=null){var a5=d.zpp_pool.next;d.zpp_pool.next=null;d.zpp_pool=a5}while(z.zpp_pool!=null){var a5=z.zpp_pool.next;z.zpp_pool.next=null;z.zpp_pool=a5}while(t.zpp_pool!=null){var a5=t.zpp_pool.next;t.zpp_pool.next=null;t.zpp_pool=a5}while(I.zpp_pool!=null){var a5=I.zpp_pool.next;I.zpp_pool.next=null;I.zpp_pool=a5}while(N.zpp_pool!=null){var a5=N.zpp_pool.next;N.zpp_pool.next=null;N.zpp_pool=a5}while(aK.zpp_pool!=null){var a5=aK.zpp_pool.next;aK.zpp_pool.next=null;aK.zpp_pool=a5}while(q.zpp_pool!=null){var a5=q.zpp_pool.next;q.zpp_pool.next=null;q.zpp_pool=a5}while(al.zpp_pool!=null){var a5=al.zpp_pool.next;al.zpp_pool.next=null;al.zpp_pool=a5}while(aT.zpp_pool!=null){var a5=aT.zpp_pool.next;aT.zpp_pool.next=null;aT.zpp_pool=a5}while(aF.zpp_pool!=null){var a5=aF.zpp_pool.next;aF.zpp_pool.next=null;aF.zpp_pool=a5}while(aR.zpp_pool!=null){var a5=aR.zpp_pool.next;aR.zpp_pool.next=null;aR.zpp_pool=a5}while(aV.zpp_pool!=null){var a5=aV.zpp_pool.next;aV.zpp_pool.next=null;aV.zpp_pool=a5}while(af.zpp_pool!=null){var a5=af.zpp_pool.next;af.zpp_pool.next=null;af.zpp_pool=a5}while(ak.zpp_pool!=null){var a5=ak.zpp_pool.next;ak.zpp_pool.next=null;ak.zpp_pool=a5}while(aW.zpp_pool!=null){var a5=aW.zpp_pool.next;aW.zpp_pool.next=null;aW.zpp_pool=a5}while(p.zpp_pool!=null){var a5=p.zpp_pool.next;p.zpp_pool.next=null;p.zpp_pool=a5}while(ad.zpp_pool!=null){var a5=ad.zpp_pool.next;ad.zpp_pool.next=null;ad.zpp_pool=a5}while(w.zpp_pool!=null){var a5=w.zpp_pool.next;w.zpp_pool.next=null;w.zpp_pool=a5}while(ac.zpp_pool!=null){var a5=ac.zpp_pool.next;ac.zpp_pool.next=null;ac.zpp_pool=a5}while(y.zpp_pool!=null){var a5=y.zpp_pool.next;y.zpp_pool.next=null;y.zpp_pool=a5}while(ab.zpp_pool!=null){var a5=ab.zpp_pool.next;ab.zpp_pool.next=null;ab.zpp_pool=a5}while(aM.zpp_pool!=null){var a5=aM.zpp_pool.next;aM.zpp_pool.next=null;aM.zpp_pool=a5}while(T.zpp_pool!=null){var a5=T.zpp_pool.next;T.zpp_pool.next=null;T.zpp_pool=a5}while(ae.zpp_pool!=null){var a5=ae.zpp_pool.next;ae.zpp_pool.next=null;ae.zpp_pool=a5}while(f.zpp_pool!=null){var a5=f.zpp_pool.next;f.zpp_pool.next=null;f.zpp_pool=a5}while(aD.zpp_pool!=null){var a5=aD.zpp_pool.next;aD.zpp_pool.next=null;aD.zpp_pool=a5}while(l.zpp_pool!=null){var a5=l.zpp_pool.next;l.zpp_pool.next=null;l.zpp_pool=a5}while(aE.zpp_pool!=null){var a5=aE.zpp_pool.next;aE.zpp_pool.next=null;aE.zpp_pool=a5}while(az.zpp_pool!=null){var a5=az.zpp_pool.next;az.zpp_pool.next=null;az.zpp_pool=a5}while(W.zpp_pool!=null){var a5=W.zpp_pool.next;W.zpp_pool.next=null;W.zpp_pool=a5}while(a3.zpp_pool!=null){var a5=a3.zpp_pool.next;a3.zpp_pool.next=null;a3.zpp_pool=a5}while(ag.zpp_pool!=null){var a5=ag.zpp_pool.next;ag.zpp_pool.next=null;ag.zpp_pool=a5}while(am.zpp_pool!=null){var a5=am.zpp_pool.next;am.zpp_pool.next=null;am.zpp_pool=a5}while(aj.zpp_pool!=null){var a5=aj.zpp_pool.next;aj.zpp_pool.next=null;aj.zpp_pool=a5}while(ap.zpp_pool!=null){var a5=ap.zpp_pool.next;ap.zpp_pool.next=null;ap.zpp_pool=a5}while(aC.zpp_pool!=null){var a5=aC.zpp_pool.next;aC.zpp_pool.next=null;aC.zpp_pool=a5}while(ao.zpp_pool!=null){var a5=ao.zpp_pool.next;ao.zpp_pool.next=null;ao.zpp_pool=a5}while(aa.zpp_pool!=null){var a5=aa.zpp_pool.next;aa.zpp_pool.next=null;aa.zpp_pool=a5}while(a1.zpp_pool!=null){var a5=a1.zpp_pool.next;a1.zpp_pool.next=null;a1.zpp_pool=a5}while(at.zpp_pool!=null){var a5=at.zpp_pool.next;at.zpp_pool.next=null;at.zpp_pool=a5}while(ah.zpp_pool!=null){var a5=ah.zpp_pool.next;ah.zpp_pool.next=null;ah.zpp_pool=a5}while(ai.zpp_pool!=null){var a5=ai.zpp_pool.next;ai.zpp_pool.next=null;ai.zpp_pool=a5}while(X.zpp_pool!=null){var a5=X.zpp_pool.next;X.zpp_pool.next=null;X.zpp_pool=a5}while(a0.zpp_pool!=null){var a5=a0.zpp_pool.next;a0.zpp_pool.next=null;a0.zpp_pool=a5}while(H.zpp_pool!=null){var a5=H.zpp_pool.next;H.zpp_pool.next=null;H.zpp_pool=a5}while(O.zpp_pool!=null){var a5=O.zpp_pool.next;O.zpp_pool.next=null;O.zpp_pool=a5}while(M.zpp_pool!=null){var a5=M.zpp_pool.next;M.zpp_pool.next=null;M.zpp_pool=a5}while(aN.zpp_pool!=null){var a5=aN.zpp_pool.next;aN.zpp_pool.next=null;aN.zpp_pool=a5}while(n.zpp_pool!=null){var a5=n.zpp_pool.next;n.zpp_pool.next=null;n.zpp_pool=a5}while(Q.zpp_pool!=null){var a5=Q.zpp_pool.next;Q.zpp_pool.next=null;Q.zpp_pool=a5}while(c.zpp_pool!=null){var a5=c.zpp_pool.next;c.zpp_pool.next=null;c.zpp_pool=a5}while(E.poolGeomPoly!=null){var a5=E.poolGeomPoly.zpp_pool;E.poolGeomPoly.zpp_pool=null;E.poolGeomPoly=a5}while(E.poolVec2!=null){var a5=E.poolVec2.zpp_pool;E.poolVec2.zpp_pool=null;E.poolVec2=a5}while(E.poolVec3!=null){var a5=E.poolVec3.zpp_pool;E.poolVec3.zpp_pool=null;E.poolVec3=a5}};a4.TIMES=function(a6){var a7="";var a5=a6.timeStamp-a4.ltime;a7+="Validation: "+(a4.VALID/a5).toString().substr(0,5)+"ms\n";a7+="Broadphase: "+((a4.BROAD-a4.NARROW)/a5).toString().substr(0,5)+"ms :: total = "+(a4.BROAD/a5).toString().substr(0,5)+"ms\n";a7+="Narrowphase: "+(a4.NARROW/a5).toString().substr(0,5)+"ms\n";a7+="Set-Forest: "+(a4.FOR/a5).toString().substr(0,5)+"ms\n";a7+="Prestep: "+(a4.PRE/a5).toString().substr(0,5)+"ms\n";a7+="Contact sort: "+(a4.SORT/a5).toString().substr(0,5)+"ms\n";a7+="Position It.: "+(a4.POS/a5).toString().substr(0,5)+"ms\n";a7+="Velocity It.: "+(a4.VEL/a5).toString().substr(0,5)+"ms\n";a7+="Debug Draw: "+(a4.DRAW/a5).toString().substr(0,5)+"ms\n";a7+="\n";a7+="arb: "+a4.ACNT+"\n";a7+="active arb: "+a4.AACNT+"\n";a7+="con: "+a4.CCNT+"\n";a7+="active con: "+a4.ACCNT+"\n";a7+="\n";a7+="hash collisions: "+(a4.HASH/a4.HASHT*100).toString().substr(0,5)+"%\n";a7+="\n";a7+="Broadphase adjustments: "+(a4.BROADCLASH/a4.BROADTOTAL*100).toString().substr(0,5)+"%\n";if(a6.timeStamp-a4.ltime>50){a4.FOR=a4.BROAD=a4.PRE=a4.POS=a4.VEL=a4.DRAW=a4.VALID=a4.SORT=a4.NARROW=a4.BROADCLASH=a4.BROADTOTAL=0;a4.ltime=a6.timeStamp}return a7};a4.createGraphic=function(bb){if(bb==null){throw new Error("Error: Cannot create debug graphic for null Body")}var bc=new createjs.Shape();var bg=bc.graphics;var bf=Math.floor(16777215*Math.exp(-bb.id/1500));var bj=(((bf&16711680)>>16))*0.7;var ba=(((bf&65280)>>8))*0.7;var be=(bf&255)*0.7;var a6=(Math.floor(bj)<<16)|(Math.floor(ba)<<8)|(Math.floor(be));a4.lineStyle(bg,0.1,a6,1);var a9=bb.shapes.iterator();while(a9.hasNext()){var bi=a9.next();if(bi.isCircle()){var bd=bi.castCircle;bg.drawCircle(bd.localCOM.x,bd.localCOM.y,bd.radius)}else{var a5=bi.castPolygon;bg.moveTo(bi.localCOM.x,bi.localCOM.y);for(var a8=-0,a7=a5.worldVerts.length;a8>16;var ba=(a9&65280)>>8;var a6=a9&255;a5.setStrokeStyle(a7).beginStroke("rgba("+bb+","+ba+","+a6+","+a8+")")};a4.WEAK=function(a5){if(a5.zpp_inner.weak){a5.dispose();return true}return false};a4.PolyWeak=function(a8){if((a8 instanceof Array)&&a8.__enum__==null){var bb=a8;var a7=0;while(a7>16)&255;this.bg_g=(i>>8)&255;this.bg_b=(i)&255;this.bg_col=i};h.prototype.colour=function(n,j){var m;if(this.outer.colour==null){m=Math.floor(16777215*Math.exp(-(n%500)/1500))}else{m=this.outer.colour(n)}var l=(((m&16711680)>>16))*0.7;var k=(((m&65280)>>8))*0.7;var i=(m&255)*0.7;if(j){l=0.4*l+0.6*this.bg_r;k=0.4*k+0.6*this.bg_g;i=0.4*i+0.6*this.bg_b}return 4278190080|((Math.floor(l))<<16)|((Math.floor(k))<<8)|(Math.floor(i))};h.prototype.tint=function(j,l,i){var k=j;var n=l;var o=i;var q=Math.floor(((k>>16)&255)*o+((n>>16)&255)*(1-o));var m=Math.floor(((k>>8)&255)*o+((n>>8)&255)*(1-o));var p=Math.floor(((k)&255)*o+((n)&255)*(1-o));return 4278190080|(q<<16)|(m<<8)|(p)};h.internal=false;return h})();c.ZPP_Debug=e})(a=b.util||(b.util={}))})(zpp_nape||(zpp_nape={}));var __extends=(this&&this.__extends)||function(f,a){for(var e in a){if(a.hasOwnProperty(e)){f[e]=a[e]}}function c(){this.constructor=f}f.prototype=a===null?Object.create(a):(c.prototype=a.prototype,new c())};var zpp_nape;(function(b){var a;(function(c){var d=(function(e){__extends(f,e);function f(h,g){e.call(this,h,g);this.outer_zn=null;this.shape=null;this.graphics=null;this.compoundstack=null;this.shapeList=null;this.bodyList=null;this.shape=new createjs.Shape();this.graphics=this.shape.graphics;this.isbmp=false;this.d_shape=this}f.prototype.setbg=function(g){this.sup_setbg(g)};f.prototype.draw_compound=function(j,h,l,k){var i=j.compounds.begin();while(i!=null){var m=i.elem();this.draw_compound(m,h,l,k);i=i.next}var i=j.bodies.begin();while(i!=null){var g=i.elem();if(g.outer.debugDraw){this.draw_body(g,h,l,k)}i=i.next}var i=j.constraints.begin();while(i!=null){var m=i.elem();if(m.active&&m.outer.debugDraw){m.draw(this.outer)}i=i.next}};f.prototype.draw_space=function(g,q,n,h){if(this.outer.cullingEnabled){if(this.outer.drawBodies){if(this.outer.drawBodyDetail){var u=this.bodyList=g.bphase.bodiesInAABB(this.iport,false,false,null,this.bodyList);while(!u.empty()){var r=u.shift();if(r.debugDraw){this.draw_body(r.zpp_inner,q,n,h)}}}else{var k=this.shapeList=g.bphase.shapesInAABB(this.iport,false,false,null,this.shapeList);while(!k.empty()){var v=k.shift();if(v.body.debugDraw){this.draw_shape(v.zpp_inner,q,n,h)}}}}}else{if(this.outer.drawBodies){if(this.compoundstack==null){this.compoundstack=new c.ZNPList_ZPP_Compound()}var m=g.bodies.begin();while(m!=null){var j=m.elem();if(j.outer.debugDraw){this.draw_body(j,q,n,h)}m=m.next}var m=g.compounds.begin();while(m!=null){var p=m.elem();this.compoundstack.add(p);m=m.next}while(!this.compoundstack.empty()){var t=this.compoundstack.pop_unsafe();var m=t.bodies.begin();while(m!=null){var i=m.elem();if(i.outer.debugDraw){this.draw_body(i,q,n,h)}m=m.next}var m=t.compounds.begin();while(m!=null){var p=m.elem();this.compoundstack.add(p);m=m.next}}}}if(this.outer.drawCollisionArbiters||this.outer.drawFluidArbiters||this.outer.drawSensorArbiters){var o=g.outer.arbiters.iterator();while(o.hasNext()){var l=o.next();this.draw_arbiter(l.zpp_inner,q,n,h)}}if(this.outer.drawConstraints){if(this.compoundstack==null){this.compoundstack=new c.ZNPList_ZPP_Compound()}var m=g.constraints.begin();while(m!=null){var p=m.elem();if(p.active&&p.outer.debugDraw){p.draw(this.outer)}m=m.next}var m=g.compounds.begin();while(m!=null){var p=m.elem();this.compoundstack.add(p);m=m.next}while(!this.compoundstack.empty()){var t=this.compoundstack.pop_unsafe();var m=t.constraints.begin();while(m!=null){var p=m.elem();if(p.active&&p.outer.debugDraw){p.draw(this.outer)}m=m.next}var m=t.compounds.begin();while(m!=null){var p=m.elem();this.compoundstack.add(p);m=m.next}}}};f.prototype.draw_body=function(m,n,i,g){var o=this.graphics;var j=m.shapes.begin();while(j!=null){var r=j.elem();this.draw_shape(r,n,i,g);j=j.next}if(!this.outer.drawBodyDetail){return}var h=this.colour(m.id,m.space!=null&&m.outer.isSleeping);this.lineStyle(this.tint(h,16711680,0.8),1);var q=0;var p=0;var l=0;var k=0;if(!m.shapes.empty()){m.validate_worldCOM();if(g){q=m.worldCOMx;p=m.worldCOMy}else{q=n.a*m.worldCOMx+n.b*m.worldCOMy+n.tx;p=n.c*m.worldCOMx+n.d*m.worldCOMy+n.ty}o.drawCircle(q,p,1);m.validate_aabb();this.AABB(m,g,n,m.aabb)}if(g){l=m.pre_posx;k=m.pre_posy}else{l=n.a*m.pre_posx+n.b*m.pre_posy+n.tx;k=n.c*m.pre_posx+n.d*m.pre_posy+n.ty}if(g){q=m.posx;p=m.posy}else{q=n.a*m.posx+n.b*m.posy+n.tx;p=n.c*m.posx+n.d*m.posy+n.ty}o.moveTo(l,k);o.lineTo(q,p);o.drawCircle(q,p,1)};f.prototype.draw_shape=function(k,m,l,F){var J=this.graphics;var h=this.outer;var p=this.colour(k.id,false);var x=k.body;if(x==null){return}var K=this.colour(x.id,x.space!=null&&x.outer.isSleeping);p=this.tint(p,K,0.2);this.lineStyle(p,1);if(k.isCircle()){var C=k.circle;C.validate_worldCOM();var E=C.worldCOMx;var D=C.worldCOMy;if(!F){var B=m.a*E+m.b*D+m.tx;D=m.c*E+m.d*D+m.ty;E=B}J.drawCircle(E,D,C.radius*l);if(h.drawShapeAngleIndicators){var j=C.worldCOMx+0.3*C.radius*x.axisy;var i=C.worldCOMy+0.3*C.radius*x.axisx;var s=C.worldCOMx+C.radius*x.axisy;var r=C.worldCOMy+C.radius*x.axisx;if(!F){var B=m.a*j+m.b*i+m.tx;i=m.c*j+m.d*i+m.ty;j=B}if(!F){var B=m.a*s+m.b*r+m.tx;r=m.c*s+m.d*r+m.ty;s=B}J.moveTo(j,i);J.lineTo(s,r)}}else{var q=k.polygon;q.validate_gverts();var A=q.gverts.front();var o=A.x;var I=A.y;if(!F){var w=m.a*o+m.b*I+m.tx;I=m.c*o+m.d*I+m.ty;o=w}J.moveTo(o,I);var z=o;var y=I;var G=q.gverts.begin().next;while(G!=null){var g=G.elem();o=g.x;I=g.y;if(!F){var v=m.a*o+m.b*I+m.tx;I=m.c*o+m.d*I+m.ty;o=v}J.lineTo(o,I);G=G.next}J.lineTo(z,y);if(h.drawShapeAngleIndicators){q.validate_worldCOM();if(F){o=q.worldCOMx;I=q.worldCOMy}else{o=m.a*q.worldCOMx+m.b*q.worldCOMy+m.tx;I=m.c*q.worldCOMx+m.d*q.worldCOMy+m.ty}J.moveTo(o,I);J.lineTo(z,y)}}if(h.drawShapeDetail){k.validate_worldCOM();this.lineStyle(this.tint(p,16711680,0.8),1);var n=0;var H=0;if(F){n=k.worldCOMx;H=k.worldCOMy}else{n=m.a*k.worldCOMx+m.b*k.worldCOMy+m.tx;H=m.c*k.worldCOMx+m.d*k.worldCOMy+m.ty}J.drawCircle(n,H,1);k.validate_aabb();this.AABB(x,F,m,k.aabb)}};f.prototype.draw_arbiter=function(k,i,h,w){var g=this.outer;var v=0;var u=0;if(k.outer.isSensorArbiter()){if(g.drawSensorArbiters){var o=k.outer;this.lineStyle(this.tint(65280,~this.bg_col,0.7),1);if(w){v=o.shape1.worldCOM.x;u=o.shape1.worldCOM.y}else{v=i.a*o.shape1.worldCOM.x+i.b*o.shape1.worldCOM.y+i.tx;u=i.c*o.shape1.worldCOM.x+i.d*o.shape1.worldCOM.y+i.ty}this.graphics.moveTo(v,u);if(w){v=o.shape2.worldCOM.x;u=o.shape2.worldCOM.y}else{v=i.a*o.shape2.worldCOM.x+i.b*o.shape2.worldCOM.y+i.tx;u=i.c*o.shape2.worldCOM.x+i.d*o.shape2.worldCOM.y+i.ty}this.graphics.lineTo(v,u)}}else{if(k.outer.isFluidArbiter()){if(g.drawFluidArbiters){var s=k.outer.fluidArbiter;this.lineStyle(this.tint(255,~this.bg_col,0.7),1);if(w){v=s.position.x;u=s.position.y}else{v=i.a*s.position.x+i.b*s.position.y+i.tx;u=i.c*s.position.x+i.d*s.position.y+i.ty}this.graphics.drawCircle(v,u,0.75)}}else{if(g.drawCollisionArbiters){var j=k.outer.collisionArbiter;if(!j.contacts.empty()){var r=0;var q=0;if(j.contacts.length==2){var A=j.contacts.at(0).position;var z=j.contacts.at(1).position;var B=j.normal;var m=0.661437828;var l=0.75;if((B.y*A.x-B.x*A.y)<(B.y*z.x-B.x*z.y)){m=-m;l=-l}this.lineStyle(this.tint(255,~this.bg_col,0.7),1);v=A.x+B.x*l-B.y*m;u=A.y+B.y*l+B.x*m;if(!w){var p=i.a*v+i.b*u+i.tx;u=i.c*v+i.d*u+i.ty;v=p}this.graphics.moveTo(v,u);v=z.x+B.x*l+B.y*m;u=z.y+B.y*l-B.x*m;if(!w){var p=i.a*v+i.b*u+i.tx;u=i.c*v+i.d*u+i.ty;v=p}this.graphics.lineTo(v,u);this.lineStyle(this.tint(16711680,~this.bg_col,0.7),1);v=A.x-B.x*l-B.y*m;u=A.y-B.y*l+B.x*m;if(!w){var p=i.a*v+i.b*u+i.tx;u=i.c*v+i.d*u+i.ty;v=p}this.graphics.moveTo(v,u);v=z.x-B.x*l+B.y*m;u=z.y-B.y*l-B.x*m;if(!w){var p=i.a*v+i.b*u+i.tx;u=i.c*v+i.d*u+i.ty;v=p}this.graphics.lineTo(v,u);r=0.5*(A.x+z.x);q=0.5*(A.y+z.y);if(!w){var p=i.a*r+i.b*q+i.tx;q=i.c*r+i.d*q+i.ty;r=p}}else{r=j.contacts.at(0).position.x;q=j.contacts.at(0).position.y;if(!w){var p=i.a*r+i.b*q+i.tx;q=i.c*r+i.d*q+i.ty;r=p}this.lineStyle(this.tint(16711935,~this.bg_col,0.7),1);this.graphics.drawCircle(r,q,1)}this.lineStyle(this.tint(~this.bg_col,this.bg_col,0.7),1);this.graphics.moveTo(r,q);v=j.normal.x*5;u=j.normal.y*5;if(!w){var p=i.a*v+i.b*u;u=i.c*v+i.d*u;v=p}this.graphics.lineTo(r+v,q+u)}}}}};f.prototype.lineStyle=function(h,j,i){if(i===void 0){i=1}if(arguments.length==2){i=j;j=h;h=this.outer_zn.thickness}var l=(j&16711680)>>16;var k=(j&65280)>>8;var g=j&255;this.graphics.setStrokeStyle(h).beginStroke("rgba("+l+","+k+","+g+","+i+")")};f.prototype.AABB=function(m,g,p,l){if(g){this.graphics.drawRect(m.aabb.minx,m.aabb.miny,m.aabb.width(),m.aabb.height())}else{var i=0;var h=0;i=p.a*m.aabb.minx+p.b*m.aabb.miny+p.tx;h=p.c*m.aabb.minx+p.d*m.aabb.miny+p.ty;var k=m.aabb.width();var j=0;var q=p.a*k+p.b*j;j=p.c*k+p.d*j;k=q;var o=0;var n=m.aabb.height();var q=p.a*o+p.b*n;n=p.c*o+p.d*n;o=q;this.graphics.moveTo(i,h);this.graphics.lineTo(i+k,h+j);this.graphics.lineTo(i+k+o,h+j+n);this.graphics.lineTo(i+o,h+n);this.graphics.lineTo(i,h)}};return f})(c.ZPP_Debug);c.ZPP_ShapeDebug=d})(a=b.util||(b.util={}))})(zpp_nape||(zpp_nape={}));var __extends=(this&&this.__extends)||function(f,a){for(var e in a){if(a.hasOwnProperty(e)){f[e]=a[e]}}function c(){this.constructor=f}f.prototype=a===null?Object.create(a):(c.prototype=a.prototype,new c())};var nape;(function(b){var a;(function(c){var e=zpp_nape.util.ZPP_ShapeDebug;var d=b.geom.Vec2;var f=(function(g){__extends(h,g);function h(j,i,k){if(k===void 0){k=3355443}g.call(this);this.zpp_inner_zn=null;this.thickness=0;this.zpp_inner_zn=new e(j,i);this.zpp_inner_zn.outer_zn=this;this.zpp_inner=this.zpp_inner_zn;this.zpp_inner.outer=this;this.bgColour=k;this.thickness=0.1}h.prototype.clear=function(){this.zpp_inner_zn.graphics.clear()};h.prototype.drawLine=function(o,j,n){var i=this.zpp_inner;var l=this.zpp_inner_zn;var m=l.graphics;c.Debug.lineStyle(m,this.thickness,n&16777215,1);if(i.xnull){m.moveTo(o.x,o.y);m.lineTo(j.x,j.y);c.Debug.WEAK(o);c.Debug.WEAK(j)}else{var k=i.xform.outer.transform(o);m.moveTo(k.x,k.y);k.dispose();k=i.xform.outer.transform(j);m.lineTo(k.x,k.y);k.dispose()}m.endStroke()};h.prototype.drawCurve=function(k,m,l,i){var n=this.zpp_inner;var o=this.zpp_inner_zn.graphics;c.Debug.lineStyle(o,this.thickness,i&16777215,1);if(n.xnull){o.moveTo(k.x,k.y);o.curveTo(m.x,m.y,l.x,l.y);c.Debug.WEAK(k);c.Debug.WEAK(m);c.Debug.WEAK(l)}else{var r=n.xform.outer.transform(k);var p=n.xform.outer.transform(m);var j=n.xform.outer.transform(l);o.moveTo(r.x,r.y);o.curveTo(p.x,p.y,j.x,j.y);r.dispose();p.dispose();j.dispose()}o.endStroke()};h.prototype.drawCircle=function(k,j,n){var i=this.zpp_inner;var m=this.zpp_inner_zn.graphics;c.Debug.lineStyle(m,this.thickness,n&16777215,1);if(i.xnull){m.drawCircle(k.x,k.y,j);c.Debug.WEAK(k)}else{var l=i.xform.outer.transform(k);m.drawCircle(l.x,l.y,j*i.xdet);l.dispose()}m.endStroke()};h.prototype.drawAABB=function(j,i){var m=this.zpp_inner;var n=this.zpp_inner_zn.graphics;c.Debug.lineStyle(n,this.thickness,i&16777215,1);if(m.xnull){n.drawRect(j.x,j.y,j.width,j.height)}else{var q=m.xform.outer.transform(j.min);var p=d.get(j.width,0,false);var k=m.xform.outer.transform(p,true);var l=d.get(0,j.height,false);var o=m.xform.outer.transform(l,true);n.moveTo(q.x,q.y);n.lineTo(q.x+k.x,q.y+k.y);n.lineTo(q.x+k.x+o.x,q.y+k.y+o.y);n.lineTo(q.x+o.x,q.y+o.y);n.lineTo(q.x,q.y);q.dispose();p.dispose();k.dispose();l.dispose();o.dispose()}n.endStroke()};h.prototype.drawFilledTriangle=function(o,n,m,l){var i=this.zpp_inner;var k=this.zpp_inner_zn.graphics;c.Debug.lineStyle(k,0,0,0);k.beginFill(this.rgba(l&16777215,1));if(i.xnull){k.moveTo(o.x,o.y);k.lineTo(n.x,n.y);k.lineTo(m.x,m.y);c.Debug.WEAK(o);c.Debug.WEAK(n);c.Debug.WEAK(m)}else{var j=i.xform.outer.transform(o);k.moveTo(j.x,j.y);j.dispose();j=i.xform.outer.transform(n);k.lineTo(j.x,j.y);j.dispose();j=i.xform.outer.transform(m);k.lineTo(j.x,j.y);j.dispose()}k.endFill()};h.prototype.drawFilledCircle=function(k,j,n){var i=this.zpp_inner;var m=this.zpp_inner_zn.graphics;c.Debug.lineStyle(m,0,0,0);m.beginFill(this.rgba(n&16777215,1));if(i.xnull){m.drawCircle(k.x,k.y,j);c.Debug.WEAK(k)}else{var l=i.xform.outer.transform(k);m.drawCircle(l.x,l.y,j*i.xdet);l.dispose()}m.endFill()};h.prototype.drawPolygon=function(k,m){var i=this.zpp_inner;var l=this.zpp_inner_zn.graphics;c.Debug.lineStyle(l,this.thickness,m&16777215,1);var j=null;var n=true;if(i.xnull){c.Debug.PolyIter(k,function(o){if(n){j=o.copy(false);l.moveTo(o.x,o.y)}else{l.lineTo(o.x,o.y)}n=false});l.lineTo(j.x,j.y);j.dispose()}else{c.Debug.PolyIter(k,function(q){var o=i.xform.outer.transform(q);if(n){j=o;l.moveTo(o.x,o.y)}else{l.lineTo(o.x,o.y)}if(!n){o.dispose()}n=false});l.lineTo(j.x,j.y);j.dispose()}c.Debug.PolyWeak(k);l.endStroke()};h.prototype.drawFilledPolygon=function(k,m){var i=this.zpp_inner;var l=this.zpp_inner_zn.graphics;l.beginFill(this.rgba(m&16777215,1));c.Debug.lineStyle(l,0,0,0);var j=null;var n=true;if(i.xnull){c.Debug.PolyIter(k,function(o){if(n){j=o.copy(false);l.moveTo(o.x,o.y)}else{l.lineTo(o.x,o.y)}n=false});l.lineTo(j.x,j.y);j.dispose()}else{c.Debug.PolyIter(k,function(q){var o=i.xform.outer.transform(q);if(n){j=o;l.moveTo(o.x,o.y)}else{l.lineTo(o.x,o.y)}if(!n){o.dispose()}n=false});l.lineTo(j.x,j.y);j.dispose()}l.endFill();c.Debug.PolyWeak(k)};h.prototype.draw=function(i){c.Debug.debug_draw(this,i)};h.prototype.drawSpring=function(m,j,l,k,i){if(k===void 0){k=3}if(i===void 0){i=3}c.Debug.debug_spring(this,m,j,l,k,i)};h.prototype.rgba=function(k,j){if(j===void 0){j=1}var m=(k&16711680)>>16;var l=(k&65280)>>8;var i=k&255;return"rgba("+m+","+l+","+i+","+j+")"};return h})(c.Debug);c.ShapeDebug=f})(a=b.util||(b.util={}))})(nape||(nape={}));