>>0)$a();else{c[e+12>>2]=d;c[f>>2]=d;c[z+(a+8)>>2]=e;c[z+(a+12)>>2]=p;c[z+(a+24)>>2]=0;break}}else{H=A+a|0;c[z+4>>2]=H|3;H=z+(H+4)|0;c[H>>2]=c[H>>2]|1}while(0);H=z+8|0;i=b;return H|0}}}else a=-1;while(0);p=c[4712]|0;if(a>>>0<=p>>>0){e=p-a|0;d=c[4715]|0;if(e>>>0>15){c[4715]=d+a;c[4712]=e;c[d+(a+4)>>2]=e|1;c[d+p>>2]=e;c[d+4>>2]=a|3}else{c[4712]=0;c[4715]=0;c[d+4>>2]=p|3;H=d+(p+4)|0;c[H>>2]=c[H>>2]|1}H=d+8|0;i=b;return H|0}p=c[4713]|0;if(a>>>0>>0){G=p-a|0;c[4713]=G;H=c[4716]|0;c[4716]=H+a;c[H+(a+4)>>2]=G|1;c[H+4>>2]=a|3;H=H+8|0;i=b;return H|0}do if(!(c[4828]|0)){p=Oa(30)|0;if(!(p+ -1&p)){c[4830]=p;c[4829]=p;c[4831]=-1;c[4832]=-1;c[4833]=0;c[4821]=0;c[4828]=(bb(0)|0)&-16^1431655768;break}else $a()}while(0);w=a+48|0;p=c[4830]|0;x=a+47|0;z=p+x|0;p=0-p|0;v=z&p;if(v>>>0<=a>>>0){H=0;i=b;return H|0}A=c[4820]|0;if((A|0)!=0?(G=c[4818]|0,H=G+v|0,H>>>0<=G>>>0|H>>>0>A>>>0):0){H=0;i=b;return H|0}d:do if(!(c[4821]&4)){B=c[4716]|0;e:do if(B){A=19288|0;while(1){C=c[A>>2]|0;if(C>>>0<=B>>>0?(y=A+4|0,(C+(c[y>>2]|0)|0)>>>0>B>>>0):0)break;A=c[A+8>>2]|0;if(!A){o=182;break e}}if(A){B=z-(c[4713]|0)&p;if(B>>>0<2147483647){p=Ia(B|0)|0;A=(p|0)==((c[A>>2]|0)+(c[y>>2]|0)|0);y=p;z=B;p=A?p:-1;A=A?B:0;o=191}else A=0}else o=182}else o=182;while(0);do if((o|0)==182){p=Ia(0)|0;if((p|0)!=(-1|0)){z=p;A=c[4829]|0;y=A+ -1|0;if(!(y&z))A=v;else A=v-z+(y+z&0-A)|0;y=c[4818]|0;z=y+A|0;if(A>>>0>a>>>0&A>>>0<2147483647){H=c[4820]|0;if((H|0)!=0?z>>>0<=y>>>0|z>>>0>H>>>0:0){A=0;break}y=Ia(A|0)|0;o=(y|0)==(p|0);z=A;p=o?p:-1;A=o?A:0;o=191}else A=0}else A=0}while(0);f:do if((o|0)==191){o=0-z|0;if((p|0)!=(-1|0)){q=A;o=202;break d}do if((y|0)!=(-1|0)&z>>>0<2147483647&z>>>0>>0?(u=c[4830]|0,u=x-z+u&0-u,u>>>0<2147483647):0)if((Ia(u|0)|0)==(-1|0)){Ia(o|0)|0;break f}else{z=u+z|0;break}while(0);if((y|0)!=(-1|0)){p=y;q=z;o=202;break d}}while(0);c[4821]=c[4821]|4;o=199}else{A=0;o=199}while(0);if((((o|0)==199?v>>>0<2147483647:0)?(t=Ia(v|0)|0,s=Ia(0)|0,(s|0)!=(-1|0)&(t|0)!=(-1|0)&t>>>0>>0):0)?(r=s-t|0,q=r>>>0>(a+40|0)>>>0,q):0){p=t;q=q?r:A;o=202}if((o|0)==202){r=(c[4818]|0)+q|0;c[4818]=r;if(r>>>0>(c[4819]|0)>>>0)c[4819]=r;r=c[4716]|0;g:do if(r){v=19288|0;while(1){t=c[v>>2]|0;u=v+4|0;s=c[u>>2]|0;if((p|0)==(t+s|0)){o=214;break}w=c[v+8>>2]|0;if(!w)break;else v=w}if(((o|0)==214?(c[v+12>>2]&8|0)==0:0)?r>>>0>=t>>>0&r>>>0>>0:0){c[u>>2]=s+q;d=(c[4713]|0)+q|0;e=r+8|0;if(!(e&7))e=0;else e=0-e&7;H=d-e|0;c[4716]=r+e;c[4713]=H;c[r+(e+4)>>2]=H|1;c[r+(d+4)>>2]=40;c[4717]=c[4832];break}if(p>>>0<(c[4714]|0)>>>0)c[4714]=p;t=p+q|0;s=19288|0;while(1){if((c[s>>2]|0)==(t|0)){o=224;break}u=c[s+8>>2]|0;if(!u)break;else s=u}if((o|0)==224?(c[s+12>>2]&8|0)==0:0){c[s>>2]=p;h=s+4|0;c[h>>2]=(c[h>>2]|0)+q;h=p+8|0;if(!(h&7))h=0;else h=0-h&7;j=p+(q+8)|0;if(!(j&7))n=0;else n=0-j&7;o=p+(n+q)|0;j=h+a|0;k=p+j|0;m=o-(p+h)-a|0;c[p+(h+4)>>2]=a|3;h:do if((o|0)!=(c[4716]|0)){if((o|0)==(c[4715]|0)){H=(c[4712]|0)+m|0;c[4712]=H;c[4715]=k;c[p+(j+4)>>2]=H|1;c[p+(H+j)>>2]=H;break}r=q+4|0;t=c[p+(r+n)>>2]|0;if((t&3|0)==1){a=t&-8;s=t>>>3;i:do if(t>>>0>=256){l=c[p+((n|24)+q)>>2]|0;u=c[p+(q+12+n)>>2]|0;do if((u|0)==(o|0)){u=n|16;t=p+(r+u)|0;s=c[t>>2]|0;if(!s){t=p+(u+q)|0;s=c[t>>2]|0;if(!s){g=0;break}}while(1){u=s+20|0;v=c[u>>2]|0;if(v){s=v;t=u;continue}u=s+16|0;v=c[u>>2]|0;if(!v)break;else{s=v;t=u}}if(t>>>0<(c[4714]|0)>>>0)$a();else{c[t>>2]=0;g=s;break}}else{t=c[p+((n|8)+q)>>2]|0;if(t>>>0<(c[4714]|0)>>>0)$a();v=t+12|0;if((c[v>>2]|0)!=(o|0))$a();s=u+8|0;if((c[s>>2]|0)==(o|0)){c[v>>2]=u;c[s>>2]=t;g=u;break}else $a()}while(0);if(!l)break;t=c[p+(q+28+n)>>2]|0;s=19144+(t<<2)|0;do if((o|0)!=(c[s>>2]|0)){if(l>>>0<(c[4714]|0)>>>0)$a();s=l+16|0;if((c[s>>2]|0)==(o|0))c[s>>2]=g;else c[l+20>>2]=g;if(!g)break i}else{c[s>>2]=g;if(g)break;c[4711]=c[4711]&~(1<>>0<(c[4714]|0)>>>0)$a();c[g+24>>2]=l;l=n|16;o=c[p+(l+q)>>2]|0;do if(o)if(o>>>0<(c[4714]|0)>>>0)$a();else{c[g+16>>2]=o;c[o+24>>2]=g;break}while(0);l=c[p+(r+l)>>2]|0;if(!l)break;if(l>>>0<(c[4714]|0)>>>0)$a();else{c[g+20>>2]=l;c[l+24>>2]=g;break}}else{r=c[p+((n|8)+q)>>2]|0;g=c[p+(q+12+n)>>2]|0;t=18880+(s<<1<<2)|0;do if((r|0)!=(t|0)){if(r>>>0<(c[4714]|0)>>>0)$a();if((c[r+12>>2]|0)==(o|0))break;$a()}while(0);if((g|0)==(r|0)){c[4710]=c[4710]&~(1<>>0<(c[4714]|0)>>>0)$a();s=g+8|0;if((c[s>>2]|0)==(o|0)){l=s;break}$a()}while(0);c[r+12>>2]=g;c[l>>2]=r}while(0);o=p+((a|n)+q)|0;m=a+m|0}g=o+4|0;c[g>>2]=c[g>>2]&-2;c[p+(j+4)>>2]=m|1;c[p+(m+j)>>2]=m;g=m>>>3;if(m>>>0<256){m=g<<1;d=18880+(m<<2)|0;l=c[4710]|0;g=1<>2]|0;if(g>>>0>=(c[4714]|0)>>>0){f=l;e=g;break}$a()}while(0);c[f>>2]=k;c[e+12>>2]=k;c[p+(j+8)>>2]=e;c[p+(j+12)>>2]=d;break}e=m>>>8;do if(!e)e=0;else{if(m>>>0>16777215){e=31;break}G=(e+1048320|0)>>>16&8;H=e<>>16&4;H=H<>>16&2;e=14-(F|G|e)+(H<>>15)|0;e=m>>>(e+7|0)&1|e<<1}while(0);l=19144+(e<<2)|0;c[p+(j+28)>>2]=e;c[p+(j+20)>>2]=0;c[p+(j+16)>>2]=0;f=c[4711]|0;g=1<>2]=k;c[p+(j+24)>>2]=l;c[p+(j+12)>>2]=k;c[p+(j+8)>>2]=k;break}l=c[l>>2]|0;if((e|0)==31)e=0;else e=25-(e>>>1)|0;j:do if((c[l+4>>2]&-8|0)!=(m|0)){e=m<>>31<<2)+16|0;f=c[g>>2]|0;if(!f)break;if((c[f+4>>2]&-8|0)==(m|0)){d=f;break j}else{e=e<<1;l=f}}if(g>>>0<(c[4714]|0)>>>0)$a();else{c[g>>2]=k;c[p+(j+24)>>2]=l;c[p+(j+12)>>2]=k;c[p+(j+8)>>2]=k;break h}}else d=l;while(0);f=d+8|0;e=c[f>>2]|0;g=c[4714]|0;if(d>>>0>>0)$a();if(e>>>0>>0)$a();else{c[e+12>>2]=k;c[f>>2]=k;c[p+(j+8)>>2]=e;c[p+(j+12)>>2]=d;c[p+(j+24)>>2]=0;break}}else{H=(c[4713]|0)+m|0;c[4713]=H;c[4716]=k;c[p+(j+4)>>2]=H|1}while(0);H=p+(h|8)|0;i=b;return H|0}e=19288|0;while(1){d=c[e>>2]|0;if(d>>>0<=r>>>0?(n=c[e+4>>2]|0,m=d+n|0,m>>>0>r>>>0):0)break;e=c[e+8>>2]|0}e=d+(n+ -39)|0;if(!(e&7))e=0;else e=0-e&7;d=d+(n+ -47+e)|0;d=d>>>0<(r+16|0)>>>0?r:d;e=d+8|0;f=p+8|0;if(!(f&7))f=0;else f=0-f&7;H=q+ -40-f|0;c[4716]=p+f;c[4713]=H;c[p+(f+4)>>2]=H|1;c[p+(q+ -36)>>2]=40;c[4717]=c[4832];c[d+4>>2]=27;c[e+0>>2]=c[4822];c[e+4>>2]=c[4823];c[e+8>>2]=c[4824];c[e+12>>2]=c[4825];c[4822]=p;c[4823]=q;c[4825]=0;c[4824]=e;e=d+28|0;c[e>>2]=7;if((d+32|0)>>>0>>0)do{H=e;e=e+4|0;c[e>>2]=7}while((H+8|0)>>>0>>0);if((d|0)!=(r|0)){d=d-r|0;e=r+(d+4)|0;c[e>>2]=c[e>>2]&-2;c[r+4>>2]=d|1;c[r+d>>2]=d;e=d>>>3;if(d>>>0<256){g=e<<1;d=18880+(g<<2)|0;f=c[4710]|0;e=1<>2]|0;if(e>>>0>=(c[4714]|0)>>>0){k=f;j=e;break}$a()}while(0);c[k>>2]=r;c[j+12>>2]=r;c[r+8>>2]=j;c[r+12>>2]=d;break}e=d>>>8;if(e)if(d>>>0>16777215)e=31;else{G=(e+1048320|0)>>>16&8;H=e<>>16&4;H=H<>>16&2;e=14-(F|G|e)+(H<>>15)|0;e=d>>>(e+7|0)&1|e<<1}else e=0;j=19144+(e<<2)|0;c[r+28>>2]=e;c[r+20>>2]=0;c[r+16>>2]=0;f=c[4711]|0;g=1<>2]=r;c[r+24>>2]=j;c[r+12>>2]=r;c[r+8>>2]=r;break}f=c[j>>2]|0;if((e|0)==31)e=0;else e=25-(e>>>1)|0;k:do if((c[f+4>>2]&-8|0)!=(d|0)){e=d<>>31<<2)+16|0;g=c[j>>2]|0;if(!g)break;if((c[g+4>>2]&-8|0)==(d|0)){h=g;break k}else{e=e<<1;f=g}}if(j>>>0<(c[4714]|0)>>>0)$a();else{c[j>>2]=r;c[r+24>>2]=f;c[r+12>>2]=r;c[r+8>>2]=r;break g}}else h=f;while(0);f=h+8|0;e=c[f>>2]|0;d=c[4714]|0;if(h>>>0>>0)$a();if(e>>>0>>0)$a();else{c[e+12>>2]=r;c[f>>2]=r;c[r+8>>2]=e;c[r+12>>2]=h;c[r+24>>2]=0;break}}}else{H=c[4714]|0;if((H|0)==0|p>>>0>>0)c[4714]=p;c[4822]=p;c[4823]=q;c[4825]=0;c[4719]=c[4828];c[4718]=-1;d=0;do{H=d<<1;G=18880+(H<<2)|0;c[18880+(H+3<<2)>>2]=G;c[18880+(H+2<<2)>>2]=G;d=d+1|0}while((d|0)!=32);d=p+8|0;if(!(d&7))d=0;else d=0-d&7;H=q+ -40-d|0;c[4716]=p+d;c[4713]=H;c[p+(d+4)>>2]=H|1;c[p+(q+ -36)>>2]=40;c[4717]=c[4832]}while(0);d=c[4713]|0;if(d>>>0>a>>>0){G=d-a|0;c[4713]=G;H=c[4716]|0;c[4716]=H+a;c[H+(a+4)>>2]=G|1;c[H+4>>2]=a|3;H=H+8|0;i=b;return H|0}}c[(Xa()|0)>>2]=12;H=0;i=b;return H|0}function OB(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;b=i;if(!a){i=b;return}q=a+ -8|0;r=c[4714]|0;if(q>>>0>>0)$a();o=c[a+ -4>>2]|0;n=o&3;if((n|0)==1)$a();j=o&-8;h=a+(j+ -8)|0;do if(!(o&1)){u=c[q>>2]|0;if(!n){i=b;return}q=-8-u|0;o=a+q|0;n=u+j|0;if(o>>>0>>0)$a();if((o|0)==(c[4715]|0)){d=a+(j+ -4)|0;if((c[d>>2]&3|0)!=3){d=o;m=n;break}c[4712]=n;c[d>>2]=c[d>>2]&-2;c[a+(q+4)>>2]=n|1;c[h>>2]=n;i=b;return}t=u>>>3;if(u>>>0<256){d=c[a+(q+8)>>2]|0;m=c[a+(q+12)>>2]|0;p=18880+(t<<1<<2)|0;if((d|0)!=(p|0)){if(d>>>0>>0)$a();if((c[d+12>>2]|0)!=(o|0))$a()}if((m|0)==(d|0)){c[4710]=c[4710]&~(1<>>0>>0)$a();p=m+8|0;if((c[p>>2]|0)==(o|0))s=p;else $a()}else s=m+8|0;c[d+12>>2]=m;c[s>>2]=d;d=o;m=n;break}s=c[a+(q+24)>>2]|0;t=c[a+(q+12)>>2]|0;do if((t|0)==(o|0)){u=a+(q+20)|0;t=c[u>>2]|0;if(!t){u=a+(q+16)|0;t=c[u>>2]|0;if(!t){p=0;break}}while(1){w=t+20|0;v=c[w>>2]|0;if(v){t=v;u=w;continue}v=t+16|0;w=c[v>>2]|0;if(!w)break;else{t=w;u=v}}if(u>>>0>>0)$a();else{c[u>>2]=0;p=t;break}}else{u=c[a+(q+8)>>2]|0;if(u>>>0>>0)$a();r=u+12|0;if((c[r>>2]|0)!=(o|0))$a();v=t+8|0;if((c[v>>2]|0)==(o|0)){c[r>>2]=t;c[v>>2]=u;p=t;break}else $a()}while(0);if(s){t=c[a+(q+28)>>2]|0;r=19144+(t<<2)|0;if((o|0)==(c[r>>2]|0)){c[r>>2]=p;if(!p){c[4711]=c[4711]&~(1<>>0<(c[4714]|0)>>>0)$a();r=s+16|0;if((c[r>>2]|0)==(o|0))c[r>>2]=p;else c[s+20>>2]=p;if(!p){d=o;m=n;break}}if(p>>>0<(c[4714]|0)>>>0)$a();c[p+24>>2]=s;r=c[a+(q+16)>>2]|0;do if(r)if(r>>>0<(c[4714]|0)>>>0)$a();else{c[p+16>>2]=r;c[r+24>>2]=p;break}while(0);q=c[a+(q+20)>>2]|0;if(q)if(q>>>0<(c[4714]|0)>>>0)$a();else{c[p+20>>2]=q;c[q+24>>2]=p;d=o;m=n;break}else{d=o;m=n}}else{d=o;m=n}}else{d=q;m=j}while(0);if(d>>>0>=h>>>0)$a();n=a+(j+ -4)|0;o=c[n>>2]|0;if(!(o&1))$a();if(!(o&2)){if((h|0)==(c[4716]|0)){w=(c[4713]|0)+m|0;c[4713]=w;c[4716]=d;c[d+4>>2]=w|1;if((d|0)!=(c[4715]|0)){i=b;return}c[4715]=0;c[4712]=0;i=b;return}if((h|0)==(c[4715]|0)){w=(c[4712]|0)+m|0;c[4712]=w;c[4715]=d;c[d+4>>2]=w|1;c[d+w>>2]=w;i=b;return}m=(o&-8)+m|0;n=o>>>3;do if(o>>>0>=256){l=c[a+(j+16)>>2]|0;q=c[a+(j|4)>>2]|0;do if((q|0)==(h|0)){o=a+(j+12)|0;n=c[o>>2]|0;if(!n){o=a+(j+8)|0;n=c[o>>2]|0;if(!n){k=0;break}}while(1){p=n+20|0;q=c[p>>2]|0;if(q){n=q;o=p;continue}p=n+16|0;q=c[p>>2]|0;if(!q)break;else{n=q;o=p}}if(o>>>0<(c[4714]|0)>>>0)$a();else{c[o>>2]=0;k=n;break}}else{o=c[a+j>>2]|0;if(o>>>0<(c[4714]|0)>>>0)$a();p=o+12|0;if((c[p>>2]|0)!=(h|0))$a();n=q+8|0;if((c[n>>2]|0)==(h|0)){c[p>>2]=q;c[n>>2]=o;k=q;break}else $a()}while(0);if(l){n=c[a+(j+20)>>2]|0;o=19144+(n<<2)|0;if((h|0)==(c[o>>2]|0)){c[o>>2]=k;if(!k){c[4711]=c[4711]&~(1<>>0<(c[4714]|0)>>>0)$a();n=l+16|0;if((c[n>>2]|0)==(h|0))c[n>>2]=k;else c[l+20>>2]=k;if(!k)break}if(k>>>0<(c[4714]|0)>>>0)$a();c[k+24>>2]=l;h=c[a+(j+8)>>2]|0;do if(h)if(h>>>0<(c[4714]|0)>>>0)$a();else{c[k+16>>2]=h;c[h+24>>2]=k;break}while(0);h=c[a+(j+12)>>2]|0;if(h)if(h>>>0<(c[4714]|0)>>>0)$a();else{c[k+20>>2]=h;c[h+24>>2]=k;break}}}else{k=c[a+j>>2]|0;a=c[a+(j|4)>>2]|0;j=18880+(n<<1<<2)|0;if((k|0)!=(j|0)){if(k>>>0<(c[4714]|0)>>>0)$a();if((c[k+12>>2]|0)!=(h|0))$a()}if((a|0)==(k|0)){c[4710]=c[4710]&~(1<>>0<(c[4714]|0)>>>0)$a();j=a+8|0;if((c[j>>2]|0)==(h|0))l=j;else $a()}else l=a+8|0;c[k+12>>2]=a;c[l>>2]=k}while(0);c[d+4>>2]=m|1;c[d+m>>2]=m;if((d|0)==(c[4715]|0)){c[4712]=m;i=b;return}}else{c[n>>2]=o&-2;c[d+4>>2]=m|1;c[d+m>>2]=m}h=m>>>3;if(m>>>0<256){a=h<<1;e=18880+(a<<2)|0;j=c[4710]|0;h=1<>2]|0;if(a>>>0<(c[4714]|0)>>>0)$a();else{f=h;g=a}}else{c[4710]=j|h;f=18880+(a+2<<2)|0;g=e}c[f>>2]=d;c[g+12>>2]=d;c[d+8>>2]=g;c[d+12>>2]=e;i=b;return}f=m>>>8;if(f)if(m>>>0>16777215)f=31;else{v=(f+1048320|0)>>>16&8;w=f<>>16&4;w=w<>>16&2;f=14-(u|v|f)+(w<>>15)|0;f=m>>>(f+7|0)&1|f<<1}else f=0;g=19144+(f<<2)|0;c[d+28>>2]=f;c[d+20>>2]=0;c[d+16>>2]=0;a=c[4711]|0;h=1<>2]|0;if((f|0)==31)f=0;else f=25-(f>>>1)|0;b:do if((c[g+4>>2]&-8|0)!=(m|0)){f=m<>>31<<2)+16|0;g=c[h>>2]|0;if(!g)break;if((c[g+4>>2]&-8|0)==(m|0)){e=g;break b}else{f=f<<1;a=g}}if(h>>>0<(c[4714]|0)>>>0)$a();else{c[h>>2]=d;c[d+24>>2]=a;c[d+12>>2]=d;c[d+8>>2]=d;break a}}else e=g;while(0);g=e+8|0;f=c[g>>2]|0;h=c[4714]|0;if(e>>>0>>0)$a();if(f>>>0>>0)$a();else{c[f+12>>2]=d;c[g>>2]=d;c[d+8>>2]=f;c[d+12>>2]=e;c[d+24>>2]=0;break}}else{c[4711]=a|h;c[g>>2]=d;c[d+24>>2]=g;c[d+12>>2]=d;c[d+8>>2]=d}while(0);w=(c[4718]|0)+ -1|0;c[4718]=w;if(!w)d=19296|0;else{i=b;return}while(1){d=c[d>>2]|0;if(!d)break;else d=d+8|0}c[4718]=-1;i=b;return}function PB(){}function QB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=b+e|0;if((e|0)>=20){d=d&255;i=b&3;h=d|d<<8|d<<16|d<<24;g=f&~3;if(i){i=b+4-i|0;while((b|0)<(i|0)){a[b>>0]=d;b=b+1|0}}while((b|0)<(g|0)){c[b>>2]=h;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return b-e|0}function RB(b){b=b|0;var c=0;c=b;while(a[c>>0]|0)c=c+1|0;return c-b|0}function SB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return Ra(b|0,d|0,e|0)|0;f=b|0;if((b&3)==(d&3)){while(b&3){if(!e)return f|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}while((e|0)>=4){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0;e=e-4|0}}while((e|0)>0){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}return f|0}function TB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return gb[a&63](b|0,c|0,d|0)|0}function UB(a,b,c){a=a|0;b=b|0;c=c|0;return ca(0,a|0,b|0,c|0)|0}function VB(a,b,c){a=a|0;b=b|0;c=c|0;return ca(1,a|0,b|0,c|0)|0}function WB(a,b,c){a=a|0;b=b|0;c=c|0;return ca(2,a|0,b|0,c|0)|0}function XB(a,b,c){a=a|0;b=b|0;c=c|0;return ca(3,a|0,b|0,c|0)|0}function YB(a,b,c){a=a|0;b=b|0;c=c|0;return ca(4,a|0,b|0,c|0)|0}function ZB(a,b,c){a=a|0;b=b|0;c=c|0;return ca(5,a|0,b|0,c|0)|0}function _B(a,b,c){a=a|0;b=b|0;c=c|0;return ca(6,a|0,b|0,c|0)|0}function $B(a,b,c){a=a|0;b=b|0;c=c|0;return ca(7,a|0,b|0,c|0)|0}function aC(a,b,c){a=a|0;b=b|0;c=c|0;return ca(8,a|0,b|0,c|0)|0}function bC(a,b,c){a=a|0;b=b|0;c=c|0;return ca(9,a|0,b|0,c|0)|0}function cC(a,b,c){a=a|0;b=b|0;c=c|0;return ca(10,a|0,b|0,c|0)|0}function dC(a,b,c){a=a|0;b=b|0;c=c|0;return ca(11,a|0,b|0,c|0)|0}function eC(a,b,c){a=a|0;b=b|0;c=c|0;return ca(12,a|0,b|0,c|0)|0}function fC(a,b,c){a=a|0;b=b|0;c=c|0;return ca(13,a|0,b|0,c|0)|0}function gC(a,b,c){a=a|0;b=b|0;c=c|0;return ca(14,a|0,b|0,c|0)|0}function hC(a,b,c){a=a|0;b=b|0;c=c|0;return ca(15,a|0,b|0,c|0)|0}function iC(a,b,c){a=a|0;b=b|0;c=c|0;return ca(16,a|0,b|0,c|0)|0}function jC(a,b,c){a=a|0;b=b|0;c=c|0;return ca(17,a|0,b|0,c|0)|0}function kC(a,b,c){a=a|0;b=b|0;c=c|0;return ca(18,a|0,b|0,c|0)|0}function lC(a,b,c){a=a|0;b=b|0;c=c|0;return ca(19,a|0,b|0,c|0)|0}function mC(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;hb[a&63](b|0,c|0,d|0,e|0,f|0)}function nC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(0,a|0,b|0,c|0,d|0,e|0)}function oC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(1,a|0,b|0,c|0,d|0,e|0)}function pC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(2,a|0,b|0,c|0,d|0,e|0)}function qC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(3,a|0,b|0,c|0,d|0,e|0)}function rC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(4,a|0,b|0,c|0,d|0,e|0)}function sC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(5,a|0,b|0,c|0,d|0,e|0)}function tC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(6,a|0,b|0,c|0,d|0,e|0)}function uC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(7,a|0,b|0,c|0,d|0,e|0)}function vC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(8,a|0,b|0,c|0,d|0,e|0)}function wC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(9,a|0,b|0,c|0,d|0,e|0)}function xC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(10,a|0,b|0,c|0,d|0,e|0)}function yC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(11,a|0,b|0,c|0,d|0,e|0)}function zC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(12,a|0,b|0,c|0,d|0,e|0)}function AC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(13,a|0,b|0,c|0,d|0,e|0)}function BC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(14,a|0,b|0,c|0,d|0,e|0)}function CC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(15,a|0,b|0,c|0,d|0,e|0)}function DC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(16,a|0,b|0,c|0,d|0,e|0)}function EC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(17,a|0,b|0,c|0,d|0,e|0)}function FC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(18,a|0,b|0,c|0,d|0,e|0)}function GC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(19,a|0,b|0,c|0,d|0,e|0)}function HC(a,b,c){a=a|0;b=b|0;c=+c;return+ib[a&63](b|0,+c)}function IC(a,b){a=a|0;b=+b;return+ca(0,a|0,+b)}function JC(a,b){a=a|0;b=+b;return+ca(1,a|0,+b)}function KC(a,b){a=a|0;b=+b;return+ca(2,a|0,+b)}function LC(a,b){a=a|0;b=+b;return+ca(3,a|0,+b)}function MC(a,b){a=a|0;b=+b;return+ca(4,a|0,+b)}function NC(a,b){a=a|0;b=+b;return+ca(5,a|0,+b)}function OC(a,b){a=a|0;b=+b;return+ca(6,a|0,+b)}function PC(a,b){a=a|0;b=+b;return+ca(7,a|0,+b)}function QC(a,b){a=a|0;b=+b;return+ca(8,a|0,+b)}function RC(a,b){a=a|0;b=+b;return+ca(9,a|0,+b)}function SC(a,b){a=a|0;b=+b;return+ca(10,a|0,+b)}function TC(a,b){a=a|0;b=+b;return+ca(11,a|0,+b)}function UC(a,b){a=a|0;b=+b;return+ca(12,a|0,+b)}function VC(a,b){a=a|0;b=+b;return+ca(13,a|0,+b)}function WC(a,b){a=a|0;b=+b;return+ca(14,a|0,+b)}function XC(a,b){a=a|0;b=+b;return+ca(15,a|0,+b)}function YC(a,b){a=a|0;b=+b;return+ca(16,a|0,+b)}function ZC(a,b){a=a|0;b=+b;return+ca(17,a|0,+b)}function _C(a,b){a=a|0;b=+b;return+ca(18,a|0,+b)}function $C(a,b){a=a|0;b=+b;return+ca(19,a|0,+b)}function aD(a,b){a=a|0;b=b|0;jb[a&127](b|0)}function bD(a){a=a|0;ca(0,a|0)}function cD(a){a=a|0;ca(1,a|0)}function dD(a){a=a|0;ca(2,a|0)}function eD(a){a=a|0;ca(3,a|0)}function fD(a){a=a|0;ca(4,a|0)}function gD(a){a=a|0;ca(5,a|0)}function hD(a){a=a|0;ca(6,a|0)}function iD(a){a=a|0;ca(7,a|0)}function jD(a){a=a|0;ca(8,a|0)}function kD(a){a=a|0;ca(9,a|0)}function lD(a){a=a|0;ca(10,a|0)}function mD(a){a=a|0;ca(11,a|0)}function nD(a){a=a|0;ca(12,a|0)}function oD(a){a=a|0;ca(13,a|0)}function pD(a){a=a|0;ca(14,a|0)}function qD(a){a=a|0;ca(15,a|0)}function rD(a){a=a|0;ca(16,a|0)}function sD(a){a=a|0;ca(17,a|0)}function tD(a){a=a|0;ca(18,a|0)}function uD(a){a=a|0;ca(19,a|0)}function vD(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;return+kb[a&63](b|0,c|0,d|0,e|0,+f)}function wD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;return+ca(0,a|0,b|0,c|0,d|0,+e)}function xD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;return+ca(1,a|0,b|0,c|0,d|0,+e)}function yD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;return+ca(2,a|0,b|0,c|0,d|0,+e)}function zD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;return+ca(3,a|0,b|0,c|0,d|0,+e)}function AD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;return+ca(4,a|0,b|0,c|0,d|0,+e)}function BD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;return+ca(5,a|0,b|0,c|0,d|0,+e)}function CD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;return+ca(6,a|0,b|0,c|0,d|0,+e)}function DD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;return+ca(7,a|0,b|0,c|0,d|0,+e)}function ED(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;return+ca(8,a|0,b|0,c|0,d|0,+e)}function FD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;return+ca(9,a|0,b|0,c|0,d|0,+e)}function GD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;return+ca(10,a|0,b|0,c|0,d|0,+e)}function HD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;return+ca(11,a|0,b|0,c|0,d|0,+e)}function ID(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;return+ca(12,a|0,b|0,c|0,d|0,+e)}function JD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;return+ca(13,a|0,b|0,c|0,d|0,+e)}function KD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;return+ca(14,a|0,b|0,c|0,d|0,+e)}function LD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;return+ca(15,a|0,b|0,c|0,d|0,+e)}function MD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;return+ca(16,a|0,b|0,c|0,d|0,+e)}function ND(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;return+ca(17,a|0,b|0,c|0,d|0,+e)}function OD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;return+ca(18,a|0,b|0,c|0,d|0,+e)}function PD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;return+ca(19,a|0,b|0,c|0,d|0,+e)}function QD(a,b,c){a=a|0;b=b|0;c=c|0;lb[a&127](b|0,c|0)}function RD(a,b){a=a|0;b=b|0;ca(0,a|0,b|0)}function SD(a,b){a=a|0;b=b|0;ca(1,a|0,b|0)}function TD(a,b){a=a|0;b=b|0;ca(2,a|0,b|0)}function UD(a,b){a=a|0;b=b|0;ca(3,a|0,b|0)}function VD(a,b){a=a|0;b=b|0;ca(4,a|0,b|0)}function WD(a,b){a=a|0;b=b|0;ca(5,a|0,b|0)}function XD(a,b){a=a|0;b=b|0;ca(6,a|0,b|0)}function YD(a,b){a=a|0;b=b|0;ca(7,a|0,b|0)}function ZD(a,b){a=a|0;b=b|0;ca(8,a|0,b|0)}function _D(a,b){a=a|0;b=b|0;ca(9,a|0,b|0)}function $D(a,b){a=a|0;b=b|0;ca(10,a|0,b|0)}function aE(a,b){a=a|0;b=b|0;ca(11,a|0,b|0)}function bE(a,b){a=a|0;b=b|0;ca(12,a|0,b|0)}function cE(a,b){a=a|0;b=b|0;ca(13,a|0,b|0)}function dE(a,b){a=a|0;b=b|0;ca(14,a|0,b|0)}function eE(a,b){a=a|0;b=b|0;ca(15,a|0,b|0)}function fE(a,b){a=a|0;b=b|0;ca(16,a|0,b|0)}function gE(a,b){a=a|0;b=b|0;ca(17,a|0,b|0)}function hE(a,b){a=a|0;b=b|0;ca(18,a|0,b|0)}function iE(a,b){a=a|0;b=b|0;ca(19,a|0,b|0)}function jE(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;mb[a&63](b|0,c|0,+d,e|0,f|0)}function kE(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;ca(0,a|0,b|0,+c,d|0,e|0)}function lE(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;ca(1,a|0,b|0,+c,d|0,e|0)}function mE(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;ca(2,a|0,b|0,+c,d|0,e|0)}function nE(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;ca(3,a|0,b|0,+c,d|0,e|0)}function oE(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;ca(4,a|0,b|0,+c,d|0,e|0)}function pE(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;ca(5,a|0,b|0,+c,d|0,e|0)}function qE(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;ca(6,a|0,b|0,+c,d|0,e|0)}function rE(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;ca(7,a|0,b|0,+c,d|0,e|0)}function sE(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;ca(8,a|0,b|0,+c,d|0,e|0)}function tE(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;ca(9,a|0,b|0,+c,d|0,e|0)}function uE(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;ca(10,a|0,b|0,+c,d|0,e|0)}function vE(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;ca(11,a|0,b|0,+c,d|0,e|0)}function wE(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;ca(12,a|0,b|0,+c,d|0,e|0)}function xE(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;ca(13,a|0,b|0,+c,d|0,e|0)}function yE(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;ca(14,a|0,b|0,+c,d|0,e|0)}function zE(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;ca(15,a|0,b|0,+c,d|0,e|0)}function AE(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;ca(16,a|0,b|0,+c,d|0,e|0)}function BE(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;ca(17,a|0,b|0,+c,d|0,e|0)}function CE(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;ca(18,a|0,b|0,+c,d|0,e|0)}function DE(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;ca(19,a|0,b|0,+c,d|0,e|0)}function EE(a,b){a=a|0;b=b|0;return nb[a&63](b|0)|0}function FE(a){a=a|0;return ca(0,a|0)|0}function GE(a){a=a|0;return ca(1,a|0)|0}function HE(a){a=a|0;return ca(2,a|0)|0}function IE(a){a=a|0;return ca(3,a|0)|0}function JE(a){a=a|0;return ca(4,a|0)|0}function KE(a){a=a|0;return ca(5,a|0)|0}function LE(a){a=a|0;return ca(6,a|0)|0}function ME(a){a=a|0;return ca(7,a|0)|0}function NE(a){a=a|0;return ca(8,a|0)|0}function OE(a){a=a|0;return ca(9,a|0)|0}function PE(a){a=a|0;return ca(10,a|0)|0}function QE(a){a=a|0;return ca(11,a|0)|0}function RE(a){a=a|0;return ca(12,a|0)|0}function SE(a){a=a|0;return ca(13,a|0)|0}function TE(a){a=a|0;return ca(14,a|0)|0}function UE(a){a=a|0;return ca(15,a|0)|0}function VE(a){a=a|0;return ca(16,a|0)|0}function WE(a){a=a|0;return ca(17,a|0)|0}function XE(a){a=a|0;return ca(18,a|0)|0}function YE(a){a=a|0;return ca(19,a|0)|0}function ZE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;ob[a&63](b|0,c|0,+d,e|0)}function _E(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;ca(0,a|0,b|0,+c,d|0)}function $E(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;ca(1,a|0,b|0,+c,d|0)}function aF(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;ca(2,a|0,b|0,+c,d|0)}function bF(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;ca(3,a|0,b|0,+c,d|0)}function cF(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;ca(4,a|0,b|0,+c,d|0)}function dF(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;ca(5,a|0,b|0,+c,d|0)}function eF(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;ca(6,a|0,b|0,+c,d|0)}function fF(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;ca(7,a|0,b|0,+c,d|0)}function gF(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;ca(8,a|0,b|0,+c,d|0)}function hF(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;ca(9,a|0,b|0,+c,d|0)}function iF(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;ca(10,a|0,b|0,+c,d|0)}function jF(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;ca(11,a|0,b|0,+c,d|0)}function kF(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;ca(12,a|0,b|0,+c,d|0)}function lF(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;ca(13,a|0,b|0,+c,d|0)}function mF(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;ca(14,a|0,b|0,+c,d|0)}function nF(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;ca(15,a|0,b|0,+c,d|0)}function oF(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;ca(16,a|0,b|0,+c,d|0)}function pF(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;ca(17,a|0,b|0,+c,d|0)}function qF(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;ca(18,a|0,b|0,+c,d|0)}function rF(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;ca(19,a|0,b|0,+c,d|0)}function sF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;pb[a&63](b|0,c|0,d|0)}function tF(a,b,c){a=a|0;b=b|0;c=c|0;ca(0,a|0,b|0,c|0)}function uF(a,b,c){a=a|0;b=b|0;c=c|0;ca(1,a|0,b|0,c|0)}function vF(a,b,c){a=a|0;b=b|0;c=c|0;ca(2,a|0,b|0,c|0)}function wF(a,b,c){a=a|0;b=b|0;c=c|0;ca(3,a|0,b|0,c|0)}function xF(a,b,c){a=a|0;b=b|0;c=c|0;ca(4,a|0,b|0,c|0)}function yF(a,b,c){a=a|0;b=b|0;c=c|0;ca(5,a|0,b|0,c|0)}function zF(a,b,c){a=a|0;b=b|0;c=c|0;ca(6,a|0,b|0,c|0)}function AF(a,b,c){a=a|0;b=b|0;c=c|0;ca(7,a|0,b|0,c|0)}function BF(a,b,c){a=a|0;b=b|0;c=c|0;ca(8,a|0,b|0,c|0)}function CF(a,b,c){a=a|0;b=b|0;c=c|0;ca(9,a|0,b|0,c|0)}function DF(a,b,c){a=a|0;b=b|0;c=c|0;ca(10,a|0,b|0,c|0)}function EF(a,b,c){a=a|0;b=b|0;c=c|0;ca(11,a|0,b|0,c|0)}function FF(a,b,c){a=a|0;b=b|0;c=c|0;ca(12,a|0,b|0,c|0)}function GF(a,b,c){a=a|0;b=b|0;c=c|0;ca(13,a|0,b|0,c|0)}function HF(a,b,c){a=a|0;b=b|0;c=c|0;ca(14,a|0,b|0,c|0)}function IF(a,b,c){a=a|0;b=b|0;c=c|0;ca(15,a|0,b|0,c|0)}function JF(a,b,c){a=a|0;b=b|0;c=c|0;ca(16,a|0,b|0,c|0)}function KF(a,b,c){a=a|0;b=b|0;c=c|0;ca(17,a|0,b|0,c|0)}function LF(a,b,c){a=a|0;b=b|0;c=c|0;ca(18,a|0,b|0,c|0)}function MF(a,b,c){a=a|0;b=b|0;c=c|0;ca(19,a|0,b|0,c|0)}function NF(a){a=a|0;qb[a&63]()}function OF(){ca(0)}function PF(){ca(1)}function QF(){ca(2)}function RF(){ca(3)}function SF(){ca(4)}function TF(){ca(5)}function UF(){ca(6)}function VF(){ca(7)}function WF(){ca(8)}function XF(){ca(9)}function YF(){ca(10)}function ZF(){ca(11)}function _F(){ca(12)}function $F(){ca(13)}function aG(){ca(14)}function bG(){ca(15)}function cG(){ca(16)}function dG(){ca(17)}function eG(){ca(18)}function fG(){ca(19)}function gG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;rb[a&63](b|0,c|0,+d)}function hG(a,b,c){a=a|0;b=b|0;c=+c;ca(0,a|0,b|0,+c)}function iG(a,b,c){a=a|0;b=b|0;c=+c;ca(1,a|0,b|0,+c)}function jG(a,b,c){a=a|0;b=b|0;c=+c;ca(2,a|0,b|0,+c)}function kG(a,b,c){a=a|0;b=b|0;c=+c;ca(3,a|0,b|0,+c)}function lG(a,b,c){a=a|0;b=b|0;c=+c;ca(4,a|0,b|0,+c)}function mG(a,b,c){a=a|0;b=b|0;c=+c;ca(5,a|0,b|0,+c)}function nG(a,b,c){a=a|0;b=b|0;c=+c;ca(6,a|0,b|0,+c)}function oG(a,b,c){a=a|0;b=b|0;c=+c;ca(7,a|0,b|0,+c)}function pG(a,b,c){a=a|0;b=b|0;c=+c;ca(8,a|0,b|0,+c)}function qG(a,b,c){a=a|0;b=b|0;c=+c;ca(9,a|0,b|0,+c)}function rG(a,b,c){a=a|0;b=b|0;c=+c;ca(10,a|0,b|0,+c)}function sG(a,b,c){a=a|0;b=b|0;c=+c;ca(11,a|0,b|0,+c)}function tG(a,b,c){a=a|0;b=b|0;c=+c;ca(12,a|0,b|0,+c)}function uG(a,b,c){a=a|0;b=b|0;c=+c;ca(13,a|0,b|0,+c)}function vG(a,b,c){a=a|0;b=b|0;c=+c;ca(14,a|0,b|0,+c)}function wG(a,b,c){a=a|0;b=b|0;c=+c;ca(15,a|0,b|0,+c)}function xG(a,b,c){a=a|0;b=b|0;c=+c;ca(16,a|0,b|0,+c)}function yG(a,b,c){a=a|0;b=b|0;c=+c;ca(17,a|0,b|0,+c)}function zG(a,b,c){a=a|0;b=b|0;c=+c;ca(18,a|0,b|0,+c)}function AG(a,b,c){a=a|0;b=b|0;c=+c;ca(19,a|0,b|0,+c)}function BG(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;sb[a&63](b|0,c|0,d|0,e|0,f|0,g|0)}function CG(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ca(0,a|0,b|0,c|0,d|0,e|0,f|0)}function DG(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ca(1,a|0,b|0,c|0,d|0,e|0,f|0)}function EG(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ca(2,a|0,b|0,c|0,d|0,e|0,f|0)}function FG(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ca(3,a|0,b|0,c|0,d|0,e|0,f|0)}function GG(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ca(4,a|0,b|0,c|0,d|0,e|0,f|0)}function HG(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ca(5,a|0,b|0,c|0,d|0,e|0,f|0)}function IG(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ca(6,a|0,b|0,c|0,d|0,e|0,f|0)}function JG(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ca(7,a|0,b|0,c|0,d|0,e|0,f|0)}function KG(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ca(8,a|0,b|0,c|0,d|0,e|0,f|0)}function LG(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ca(9,a|0,b|0,c|0,d|0,e|0,f|0)}function MG(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ca(10,a|0,b|0,c|0,d|0,e|0,f|0)}function NG(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ca(11,a|0,b|0,c|0,d|0,e|0,f|0)}function OG(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ca(12,a|0,b|0,c|0,d|0,e|0,f|0)}function PG(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ca(13,a|0,b|0,c|0,d|0,e|0,f|0)}function QG(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ca(14,a|0,b|0,c|0,d|0,e|0,f|0)}function RG(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ca(15,a|0,b|0,c|0,d|0,e|0,f|0)}function SG(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ca(16,a|0,b|0,c|0,d|0,e|0,f|0)}function TG(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ca(17,a|0,b|0,c|0,d|0,e|0,f|0)}function UG(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ca(18,a|0,b|0,c|0,d|0,e|0,f|0)}function VG(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ca(19,a|0,b|0,c|0,d|0,e|0,f|0)}function WG(a,b,c){a=a|0;b=b|0;c=c|0;return tb[a&63](b|0,c|0)|0}function XG(a,b){a=a|0;b=b|0;return ca(0,a|0,b|0)|0}function YG(a,b){a=a|0;b=b|0;return ca(1,a|0,b|0)|0}function ZG(a,b){a=a|0;b=b|0;return ca(2,a|0,b|0)|0}function _G(a,b){a=a|0;b=b|0;return ca(3,a|0,b|0)|0}function $G(a,b){a=a|0;b=b|0;return ca(4,a|0,b|0)|0}function aH(a,b){a=a|0;b=b|0;return ca(5,a|0,b|0)|0}function bH(a,b){a=a|0;b=b|0;return ca(6,a|0,b|0)|0}function cH(a,b){a=a|0;b=b|0;return ca(7,a|0,b|0)|0}function dH(a,b){a=a|0;b=b|0;return ca(8,a|0,b|0)|0}function eH(a,b){a=a|0;b=b|0;return ca(9,a|0,b|0)|0}function fH(a,b){a=a|0;b=b|0;return ca(10,a|0,b|0)|0}function gH(a,b){a=a|0;b=b|0;return ca(11,a|0,b|0)|0}function hH(a,b){a=a|0;b=b|0;return ca(12,a|0,b|0)|0}function iH(a,b){a=a|0;b=b|0;return ca(13,a|0,b|0)|0}function jH(a,b){a=a|0;b=b|0;return ca(14,a|0,b|0)|0}function kH(a,b){a=a|0;b=b|0;return ca(15,a|0,b|0)|0}function lH(a,b){a=a|0;b=b|0;return ca(16,a|0,b|0)|0}function mH(a,b){a=a|0;b=b|0;return ca(17,a|0,b|0)|0}function nH(a,b){a=a|0;b=b|0;return ca(18,a|0,b|0)|0}function oH(a,b){a=a|0;b=b|0;return ca(19,a|0,b|0)|0}function pH(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ub[a&63](b|0,c|0,d|0,e|0,f|0)|0}function qH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ca(0,a|0,b|0,c|0,d|0,e|0)|0}function rH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ca(1,a|0,b|0,c|0,d|0,e|0)|0}function sH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ca(2,a|0,b|0,c|0,d|0,e|0)|0}function tH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ca(3,a|0,b|0,c|0,d|0,e|0)|0}function uH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ca(4,a|0,b|0,c|0,d|0,e|0)|0}function vH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ca(5,a|0,b|0,c|0,d|0,e|0)|0}function wH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ca(6,a|0,b|0,c|0,d|0,e|0)|0}function xH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ca(7,a|0,b|0,c|0,d|0,e|0)|0}function yH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ca(8,a|0,b|0,c|0,d|0,e|0)|0}function zH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ca(9,a|0,b|0,c|0,d|0,e|0)|0}function AH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ca(10,a|0,b|0,c|0,d|0,e|0)|0}function BH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ca(11,a|0,b|0,c|0,d|0,e|0)|0}function CH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ca(12,a|0,b|0,c|0,d|0,e|0)|0}function DH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ca(13,a|0,b|0,c|0,d|0,e|0)|0}function EH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ca(14,a|0,b|0,c|0,d|0,e|0)|0}function FH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ca(15,a|0,b|0,c|0,d|0,e|0)|0}function GH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ca(16,a|0,b|0,c|0,d|0,e|0)|0}function HH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ca(17,a|0,b|0,c|0,d|0,e|0)|0}function IH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ca(18,a|0,b|0,c|0,d|0,e|0)|0}function JH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ca(19,a|0,b|0,c|0,d|0,e|0)|0}function KH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;vb[a&63](b|0,c|0,d|0,e|0)}function LH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ca(0,a|0,b|0,c|0,d|0)}function MH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ca(1,a|0,b|0,c|0,d|0)}function NH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ca(2,a|0,b|0,c|0,d|0)}function OH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ca(3,a|0,b|0,c|0,d|0)}function PH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ca(4,a|0,b|0,c|0,d|0)}function QH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ca(5,a|0,b|0,c|0,d|0)}function RH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ca(6,a|0,b|0,c|0,d|0)}function SH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ca(7,a|0,b|0,c|0,d|0)}function TH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ca(8,a|0,b|0,c|0,d|0)}function UH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ca(9,a|0,b|0,c|0,d|0)}function VH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ca(10,a|0,b|0,c|0,d|0)}function WH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ca(11,a|0,b|0,c|0,d|0)}function XH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ca(12,a|0,b|0,c|0,d|0)}function YH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ca(13,a|0,b|0,c|0,d|0)}function ZH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ca(14,a|0,b|0,c|0,d|0)}function _H(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ca(15,a|0,b|0,c|0,d|0)}function $H(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ca(16,a|0,b|0,c|0,d|0)}function aI(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ca(17,a|0,b|0,c|0,d|0)}function bI(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ca(18,a|0,b|0,c|0,d|0)}function cI(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ca(19,a|0,b|0,c|0,d|0)}function dI(a,b,c){a=a|0;b=b|0;c=c|0;$(0);return 0}function eI(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;$(1)}function fI(a,b){a=a|0;b=+b;$(2);return 0.0}function gI(a){a=a|0;$(3)}function hI(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;$(4);return 0.0}function iI(a,b){a=a|0;b=b|0;$(5)}function jI(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;$(6)}function kI(a){a=a|0;$(7);return 0}function lI(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;$(8)}function mI(a,b,c){a=a|0;b=b|0;c=c|0;$(9)}function nI(){$(10)}function oI(){eb()}function pI(a,b,c){a=a|0;b=b|0;c=+c;$(11)}function qI(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;$(12)}function rI(a,b){a=a|0;b=b|0;$(13);return 0}function sI(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;$(14);return 0}function tI(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;$(15)}
var gb=[dI,dI,UB,dI,VB,dI,WB,dI,XB,dI,YB,dI,ZB,dI,_B,dI,$B,dI,aC,dI,bC,dI,cC,dI,dC,dI,eC,dI,fC,dI,gC,dI,hC,dI,iC,dI,jC,dI,kC,dI,lC,dI,hw,lx,rx,xx,Dx,wy,vB,dI,dI,dI,dI,dI,dI,dI,dI,dI,dI,dI,dI,dI,dI,dI];var hb=[eI,eI,nC,eI,oC,eI,pC,eI,qC,eI,rC,eI,sC,eI,tC,eI,uC,eI,vC,eI,wC,eI,xC,eI,yC,eI,zC,eI,AC,eI,BC,eI,CC,eI,DC,eI,EC,eI,FC,eI,GC,eI,HB,GB,DB,eI,eI,eI,eI,eI,eI,eI,eI,eI,eI,eI,eI,eI,eI,eI,eI,eI,eI,eI];var ib=[fI,fI,IC,fI,JC,fI,KC,fI,LC,fI,MC,fI,NC,fI,OC,fI,PC,fI,QC,fI,RC,fI,SC,fI,TC,fI,UC,fI,VC,fI,WC,fI,XC,fI,YC,fI,ZC,fI,_C,fI,$C,fI,Mw,pz,zz,Jz,Wz,fA,pA,AA,KA,UA,cB,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI,fI];var jb=[gI,gI,bD,gI,cD,gI,dD,gI,eD,gI,fD,gI,gD,gI,hD,gI,iD,gI,jD,gI,kD,gI,lD,gI,mD,gI,nD,gI,oD,gI,pD,gI,qD,gI,rD,gI,sD,gI,tD,gI,uD,gI,Zv,_v,fw,gw,ow,pw,uw,vw,xw,yw,Aw,Bw,Nw,Pw,Qw,gx,fx,mw,nw,iw,jw,kw,lw,Wx,fy,Vx,iy,Ay,By,Fy,Gy,Ky,Ly,Uy,Vy,Zy,_y,cz,dz,hz,iz,qz,rz,sz,Az,Bz,Cz,Kz,Lz,Mz,Nz,Oz,Pz,Yz,Zz,_z,gA,hA,iA,qA,sA,tA,BA,CA,DA,LA,MA,NA,VA,WA,XA,dB,eB,fB,lB,kB,pB,sB,qB,rB,tB,uB,jB,gI,gI,gI];var kb=[hI,hI,wD,hI,xD,hI,yD,hI,zD,hI,AD,hI,BD,hI,CD,hI,DD,hI,ED,hI,FD,hI,GD,hI,HD,hI,ID,hI,JD,hI,KD,hI,LD,hI,MD,hI,ND,hI,OD,hI,PD,hI,ww,hI,hI,hI,hI,hI,hI,hI,hI,hI,hI,hI,hI,hI,hI,hI,hI,hI,hI,hI,hI,hI];var lb=[iI,iI,RD,iI,SD,iI,TD,iI,UD,iI,VD,iI,WD,iI,XD,iI,YD,iI,ZD,iI,_D,iI,$D,iI,aE,iI,bE,iI,cE,iI,dE,iI,eE,iI,fE,iI,gE,iI,hE,iI,iE,iI,ew,qw,rw,Cw,Dw,Ew,Fw,Jw,Kw,Ow,Gw,Hw,gy,hy,mz,nz,jz,kz,wz,xz,tz,uz,Gz,Hz,Dz,Ez,Tz,Uz,Xz,Qz,Rz,cA,dA,$z,aA,mA,nA,rA,jA,kA,xA,yA,uA,vA,HA,IA,EA,FA,RA,SA,OA,PA,$A,aB,YA,ZA,Iy,az,fz,Sy,Xy,yy,Dy,iI,iI,iI,iI,iI,iI,iI,iI,iI,iI,iI,iI,iI,iI,iI,iI,iI,iI,iI,iI,iI,iI,iI];var mb=[jI,jI,kE,jI,lE,jI,mE,jI,nE,jI,oE,jI,pE,jI,qE,jI,rE,jI,sE,jI,tE,jI,uE,jI,vE,jI,wE,jI,xE,jI,yE,jI,zE,jI,AE,jI,BE,jI,CE,jI,DE,jI,cw,jI,jI,jI,jI,jI,jI,jI,jI,jI,jI,jI,jI,jI,jI,jI,jI,jI,jI,jI,jI,jI];var nb=[kI,kI,FE,kI,GE,kI,HE,kI,IE,kI,JE,kI,KE,kI,LE,kI,ME,kI,NE,kI,OE,kI,PE,kI,QE,kI,RE,kI,SE,kI,TE,kI,UE,kI,VE,kI,WE,kI,XE,kI,YE,kI,jx,qx,wx,Cx,mB,kI,kI,kI,kI,kI,kI,kI,kI,kI,kI,kI,kI,kI,kI,kI,kI,kI];var ob=[lI,lI,_E,lI,$E,lI,aF,lI,bF,lI,cF,lI,dF,lI,eF,lI,fF,lI,gF,lI,hF,lI,iF,lI,jF,lI,kF,lI,lF,lI,mF,lI,nF,lI,oF,lI,pF,lI,qF,lI,rF,lI,bw,lI,lI,lI,lI,lI,lI,lI,lI,lI,lI,lI,lI,lI,lI,lI,lI,lI,lI,lI,lI,lI];var pb=[mI,mI,tF,mI,uF,mI,vF,mI,wF,mI,xF,mI,yF,mI,zF,mI,AF,mI,BF,mI,CF,mI,DF,mI,EF,mI,FF,mI,GF,mI,HF,mI,IF,mI,JF,mI,KF,mI,LF,mI,MF,mI,sw,tw,mI,mI,mI,mI,mI,mI,mI,mI,mI,mI,mI,mI,mI,mI,mI,mI,mI,mI,mI,mI];var qb=[nI,nI,OF,nI,PF,nI,QF,nI,RF,nI,SF,nI,TF,nI,UF,nI,VF,nI,WF,nI,XF,nI,YF,nI,ZF,nI,_F,nI,$F,nI,aG,nI,bG,nI,cG,nI,dG,nI,eG,nI,fG,nI,oI,hB,iB,nI,nI,nI,nI,nI,nI,nI,nI,nI,nI,nI,nI,nI,nI,nI,nI,nI,nI,nI];var rb=[pI,pI,hG,pI,iG,pI,jG,pI,kG,pI,lG,pI,mG,pI,nG,pI,oG,pI,pG,pI,qG,pI,rG,pI,sG,pI,tG,pI,uG,pI,vG,pI,wG,pI,xG,pI,yG,pI,zG,pI,AG,pI,Lw,ox,ux,Ax,Gx,oz,yz,Iz,Vz,eA,oA,zA,JA,TA,bB,pI,pI,pI,pI,pI,pI,pI];var sb=[qI,qI,CG,qI,DG,qI,EG,qI,FG,qI,GG,qI,HG,qI,IG,qI,JG,qI,KG,qI,LG,qI,MG,qI,NG,qI,OG,qI,PG,qI,QG,qI,RG,qI,SG,qI,TG,qI,UG,qI,VG,qI,KB,JB,IB,qI,qI,qI,qI,qI,qI,qI,qI,qI,qI,qI,qI,qI,qI,qI,qI,qI,qI,qI];var tb=[rI,rI,XG,rI,YG,rI,ZG,rI,_G,rI,$G,rI,aH,rI,bH,rI,cH,rI,dH,rI,eH,rI,fH,rI,gH,rI,hH,rI,iH,rI,jH,rI,kH,rI,lH,rI,mH,rI,nH,rI,oH,rI,zw,Iw,ix,px,vx,Bx,lz,vz,Fz,Sz,bA,lA,wA,GA,QA,_A,Zx,rI,rI,rI,rI,rI];var ub=[sI,sI,qH,sI,rH,sI,sH,sI,tH,sI,uH,sI,vH,sI,wH,sI,xH,sI,yH,sI,zH,sI,AH,sI,BH,sI,CH,sI,DH,sI,EH,sI,FH,sI,GH,sI,HH,sI,IH,sI,JH,sI,mx,sx,yx,Ex,Hy,$y,ez,Ry,Wy,xy,Cy,sI,sI,sI,sI,sI,sI,sI,sI,sI,sI,sI];var vb=[tI,tI,LH,tI,MH,tI,NH,tI,OH,tI,PH,tI,QH,tI,RH,tI,SH,tI,TH,tI,UH,tI,VH,tI,WH,tI,XH,tI,YH,tI,ZH,tI,_H,tI,$H,tI,aI,tI,bI,tI,cI,tI,$v,aw,dw,nx,tx,zx,Fx,zy,Ey,Jy,Ty,Yy,bz,gz,xB,yB,AB,tI,tI,tI,tI,tI];return{_emscripten_bind_b2WheelJoint_GetSpringDampingRatio_0:hq,_emscripten_bind_b2ContactEdge_set_next_1:Cu,_emscripten_bind_b2ChainShape_get_m_count_0:pn,_emscripten_bind_b2Fixture_SetFriction_1:Jc,_emscripten_bind_b2Shape_ComputeAABB_3:Cr,_emscripten_bind_b2FrictionJointDef_set_userData_1:Bg,_emscripten_bind_b2Vec3_get_z_0:Jf,_emscripten_bind_b2World_IsLocked_0:ei,_emscripten_bind_b2Draw_GetFlags_0:Ck,_emscripten_bind_b2FrictionJoint_IsActive_0:vt,_emscripten_bind_b2Color_set_g_1:Kn,_emscripten_bind_b2WheelJointDef_get_frequencyHz_0:Dj,_emscripten_bind_b2RopeJointDef_set_localAnchorA_1:Gu,_emscripten_bind_b2PolygonShape_RayCast_4:vo,_emscripten_bind_b2World_GetTreeBalance_0:ai,_emscripten_bind_b2PrismaticJointDef_get_upperTranslation_0:fh,_emscripten_bind_JSDraw_DrawSolidCircle_4:Qp,_emscripten_bind_b2RevoluteJoint_GetLocalAnchorA_0:Rt,_emscripten_bind_b2FixtureDef_get_filter_0:lg,_emscripten_bind_b2FrictionJointDef_get_type_0:yg,_emscripten_bind_b2RevoluteJoint_GetMotorTorque_1:fu,_emscripten_bind_b2MotorJointDef_set_type_1:hv,_emscripten_bind_b2RayCastInput_get_p1_0:fo,_emscripten_bind_b2EdgeShape_set_m_hasVertex3_1:_o,_emscripten_bind_b2JointEdge_set_joint_1:Pl,_emscripten_enum_b2ShapeType_e_polygon:tv,_emscripten_bind_b2Fixture___destroy___0:Oc,_emscripten_bind_b2PulleyJoint_SetUserData_1:Lq,_emscripten_bind_b2World_SetWarmStarting_1:Rh,_emscripten_bind_JSDraw_DrawCircle_3:Pp,_emscripten_bind_b2WeldJoint_IsActive_0:Il,_emscripten_bind_b2DestructionListener___destroy___0:yt,_emscripten_bind_b2BodyDef_set_type_1:ue,_emscripten_bind_b2ChainShape_ComputeAABB_3:ln,_emscripten_bind_b2MouseJointDef_set_type_1:Zq,_emscripten_bind_b2JointEdge_get_prev_0:Ql,_emscripten_bind_b2WeldJoint_GetReactionTorque_1:El,_emscripten_bind_b2MotorJointDef_get_maxForce_0:av,_emscripten_bind_b2DistanceJointDef_get_userData_0:Xr,_emscripten_bind_b2BodyDef_get_position_0:ve,_emscripten_bind_b2RopeJointDef_get_localAnchorB_0:Hu,_emscripten_bind_b2RevoluteJointDef_set_userData_1:Ep,_emscripten_bind_b2RevoluteJointDef_get_localAnchorA_0:jp,_emscripten_bind_b2World_SetContactFilter_1:Ah,_emscripten_bind_b2WheelJointDef_get_collideConnected_0:Pj,_emscripten_bind_b2MouseJointDef_set_userData_1:$q,_emscripten_bind_JSDraw_DrawSegment_3:Rp,_emscripten_bind_b2FixtureDef_set_restitution_1:gg,_emscripten_bind_b2MotorJointDef_Initialize_2:Xu,_emscripten_bind_b2EdgeShape_GetChildCount_0:Ko,_emscripten_bind_b2Mat33_get_ey_0:nc,_emscripten_bind_b2MouseJoint_IsActive_0:qd,_emscripten_bind_b2World_GetGravity_0:di,_emscripten_bind_b2World_DrawDebugData_0:Jh,_emscripten_bind_b2Profile_get_broadphase_0:me,_emscripten_bind_b2PulleyJointDef_get_bodyA_0:nm,_emscripten_bind_b2PrismaticJoint_SetLimits_2:ui,_emscripten_bind_b2PulleyJointDef_get_localAnchorA_0:$l,_emscripten_bind_b2DistanceJoint_GetAnchorA_0:Wb,_emscripten_bind_b2ManifoldPoint_set_tangentImpulse_1:Bm,_emscripten_bind_b2PolygonShape_get_m_count_0:Ao,_emscripten_bind_b2RopeJointDef_set_collideConnected_1:Uu,_emscripten_bind_b2CircleShape_set_m_p_1:_j,_emscripten_bind_JSContactListener_EndContact_1:aj,_emscripten_bind_b2MassData_set_mass_1:Ik,_emscripten_bind_b2Vec3_get_x_0:Ff,_emscripten_bind_b2ChainShape_CreateChain_2:cn,_emscripten_bind_b2Color_get_r_0:Hn,_emscripten_bind_b2World_DestroyBody_1:Eh,_emscripten_bind_b2Profile_get_solvePosition_0:ke,_emscripten_bind_b2Shape_RayCast_4:Br,_emscripten_bind_b2PulleyJoint_GetGroundAnchorA_0:vq,_emscripten_bind_b2Mat33___destroy___0:rc,_emscripten_bind_b2GearJoint_GetReactionTorque_1:jl,_emscripten_bind_b2WeldJointDef_set_collideConnected_1:zk,_emscripten_bind_b2Manifold_get_type_0:Og,_emscripten_bind_b2RevoluteJoint___destroy___0:su,_emscripten_bind_b2PulleyJointDef_b2PulleyJointDef_0:Vl,_emscripten_bind_b2World_SetAutoClearForces_1:fi,_emscripten_bind_b2PrismaticJointDef_set_lowerTranslation_1:eh,_emscripten_bind_b2BodyDef_set_position_1:we,_emscripten_bind_b2Transform_get_q_0:Ym,_emscripten_bind_b2FrictionJoint_GetMaxForce_0:it,_emscripten_bind_b2PolygonShape_set_m_count_1:Bo,_emscripten_bind_b2Contact_GetNext_0:lr,_emscripten_bind_b2MotorJointDef_set_userData_1:jv,_emscripten_bind_b2EdgeShape_get_m_type_0:$o,_emscripten_bind_b2GearJoint_GetJoint1_0:$k,_emscripten_bind_b2WheelJoint_GetMaxMotorTorque_0:cq,_emscripten_bind_b2MotorJoint_SetMaxTorque_1:Ld,_emscripten_bind_b2GearJoint_GetAnchorA_0:gl,_emscripten_enum_b2JointType_e_mouseJoint:Bv,_emscripten_bind_b2MouseJointDef_set_bodyA_1:br,_emscripten_enum_b2JointType_e_revoluteJoint:xv,_emscripten_bind_b2World_SetContactListener_1:Bh,_emscripten_bind_b2Body_IsAwake_0:Us,_emscripten_bind_b2JointEdge_set_other_1:Nl,_emscripten_bind_b2RevoluteJoint_IsMotorEnabled_0:$t,_emscripten_bind_b2MouseJointDef_set_target_1:Rq,_emscripten_bind_b2MotorJoint_SetCorrectionFactor_1:Nd,_emscripten_bind_b2FixtureDef_get_density_0:hg,_emscripten_bind_b2ChainShape_set_m_vertices_1:on,_emscripten_bind_b2ChainShape_get_m_vertices_0:nn,_emscripten_bind_b2Rot_set_s_1:Bd,_emscripten_bind_b2MotorJointDef_get_collideConnected_0:ov,_emscripten_bind_b2RevoluteJoint_GetUpperLimit_0:Zt,_emscripten_bind_b2WheelJointDef_set_bodyB_1:Oj,_emscripten_bind_b2WheelJointDef_set_enableMotor_1:yj,_emscripten_bind_b2FixtureDef_get_userData_0:bg,_emscripten_bind_b2FrictionJointDef_set_collideConnected_1:Hg,_emscripten_bind_b2PrismaticJointDef_get_lowerTranslation_0:dh,_emscripten_bind_b2GearJoint_GetCollideConnected_0:ol,_emscripten_bind_b2RevoluteJointDef_get_upperAngle_0:tp,_emscripten_bind_b2Body_ApplyAngularImpulse_2:vs,_emscripten_enum_b2JointType_e_frictionJoint:Fv,_emscripten_bind_b2RayCastOutput_set_fraction_1:Si,_emscripten_bind_b2Color_set_r_1:In,_emscripten_bind_b2DistanceJointDef_get_length_0:Pr,_emscripten_bind_b2PulleyJoint_GetBodyB_0:Eq,_emscripten_bind_b2WheelJointDef_set_type_1:Ij,_emscripten_bind_b2World_GetTreeQuality_0:bi,_emscripten_bind_b2BodyDef_set_gravityScale_1:Ue,_emscripten_bind_b2RopeJointDef_set_bodyB_1:Su,_emscripten_bind_b2PrismaticJoint_GetLowerLimit_0:si,_emscripten_bind_b2AABB_get_lowerBound_0:Vf,_emscripten_bind_b2WheelJoint_SetMotorSpeed_1:$p,_emscripten_bind_b2PrismaticJointDef_get_referenceAngle_0:$g,_emscripten_bind_b2Body_SetMassData_1:zs,_emscripten_bind_b2BodyDef_get_angularVelocity_0:Be,_emscripten_bind_b2WeldJoint_SetDampingRatio_1:vl,_emscripten_bind_b2PrismaticJointDef___destroy___0:xh,_emscripten_bind_b2Contact_IsTouching_0:ir,_emscripten_bind_b2Draw_SetFlags_1:Bk,_emscripten_bind_b2AABB_Contains_1:Tf,_emscripten_bind_b2DistanceJoint_GetNext_0:_b,_emscripten_bind_b2GearJoint_GetReactionForce_1:il,_emscripten_bind_b2PrismaticJoint_GetNext_0:Ji,_emscripten_bind_b2Filter_get_groupIndex_0:Uc,_emscripten_bind_b2PrismaticJoint_GetType_0:Ci,_emscripten_bind_b2Fixture_GetRestitution_0:Kc,_emscripten_bind_b2Transform_set_q_1:Zm,_emscripten_bind_b2PolygonShape___destroy___0:Go,_emscripten_bind_b2AABB_get_upperBound_0:Xf,_emscripten_bind_b2Transform___destroy___0:_m,_emscripten_bind_b2WeldJointDef_set_localAnchorB_1:jk,_emscripten_bind_b2CircleShape_set_m_radius_1:ck,_emscripten_bind_b2EdgeShape_set_m_hasVertex0_1:Yo,_emscripten_bind_b2RopeJoint_GetMaxLength_0:Rn,_emscripten_bind_b2GearJoint_GetUserData_0:ll,_emscripten_bind_b2MotorJoint_GetCollideConnected_0:_d,_emscripten_bind_b2GearJointDef_set_type_1:Ht,_emscripten_bind_b2DistanceJoint_SetDampingRatio_1:Rb,_emscripten_bind_b2Contact_GetFixtureA_0:mr,_emscripten_bind_b2QueryCallback___destroy___0:Fm,_emscripten_bind_b2PulleyJointDef_get_ratio_0:hm,_emscripten_bind_b2PrismaticJointDef_get_localAnchorB_0:Xg,_emscripten_bind_b2CircleShape_set_m_type_1:ak,_emscripten_enum_b2ShapeType_e_typeCount:vv,_emscripten_bind_b2Body_SetTransform_2:hs,_emscripten_bind_b2RopeJoint_GetAnchorB_0:Xn,_emscripten_bind_b2AABB_set_upperBound_1:Yf,_emscripten_bind_b2MouseJointDef_get_collideConnected_0:er,_emscripten_bind_b2ContactImpulse___destroy___0:Kb,_emscripten_bind_b2PrismaticJointDef_b2PrismaticJointDef_0:Tg,_emscripten_bind_b2Vec2_set_x_1:uf,_emscripten_bind_b2RayCastInput___destroy___0:lo,_emscripten_bind_b2Body_ApplyForceToCenter_2:ss,_emscripten_bind_JSDestructionListener_JSDestructionListener_0:Eb,_emscripten_bind_b2WheelJointDef_set_localAnchorA_1:sj,_emscripten_bind_b2FrictionJoint_GetBodyB_0:nt,_emscripten_bind_b2DistanceJointDef_get_bodyA_0:Zr,_emscripten_bind_b2WeldJointDef_set_bodyA_1:vk,_emscripten_bind_b2World_SetDestructionListener_1:zh,_emscripten_bind_b2RevoluteJoint_GetJointSpeed_0:Vt,_emscripten_bind_b2WheelJoint_GetLocalAnchorB_0:Vp,_emscripten_bind_b2JointDef___destroy___0:Rm,_emscripten_bind_b2PrismaticJointDef_Initialize_4:Ug,_emscripten_bind_b2FrictionJointDef_get_localAnchorA_0:qg,_emscripten_bind_b2CircleShape_GetChildCount_0:Uj,_emscripten_bind_b2BodyDef_get_bullet_0:Ne,_emscripten_bind_b2ManifoldPoint_get_localPoint_0:wm,_emscripten_bind_b2PrismaticJointDef_get_type_0:nh,_emscripten_bind_b2MassData_get_center_0:Jk,_emscripten_bind_b2World_b2World_1:yh,_emscripten_bind_b2WheelJoint_GetReactionForce_1:nq,_emscripten_bind_b2World_SetSubStepping_1:Vh,_emscripten_bind_b2Vec2_op_add_1:lf,_emscripten_bind_b2Joint_GetBodyA_0:Pk,_emscripten_bind_b2Joint_GetCollideConnected_0:Zk,_emscripten_bind_b2MotorJoint_GetReactionTorque_1:Vd,_emscripten_bind_b2WheelJoint_IsMotorEnabled_0:Zp,_emscripten_bind_b2WheelJointDef___destroy___0:Rj,_emscripten_bind_b2Vec3_SetZero_0:Af,_emscripten_enum_b2JointType_e_pulleyJoint:Av,_emscripten_bind_b2ChainShape_get_m_nextVertex_0:tn,_emscripten_bind_b2Contact_SetEnabled_1:jr,_emscripten_bind_b2Shape_set_m_radius_1:Hr,_emscripten_bind_b2GearJointDef_get_joint2_0:Ct,_emscripten_bind_b2World_SetDebugDraw_1:Ch,_emscripten_bind_b2ContactID_set_key_1:Xi,_emscripten_bind_b2RevoluteJointDef_set_collideConnected_1:Kp,_malloc:NB,_emscripten_bind_b2World_GetProxyCount_0:Xh,_emscripten_bind_b2Vec2_Normalize_0:qf,_emscripten_bind_b2WheelJoint_GetJointSpeed_0:Yp,_emscripten_bind_b2FrictionJointDef_set_localAnchorA_1:rg,_emscripten_bind_b2GearJoint_GetRatio_0:cl,_emscripten_bind_JSRayCastCallback_JSRayCastCallback_0:We,_emscripten_bind_b2RayCastInput_set_p2_1:io,_emscripten_bind_b2RevoluteJointDef_get_motorSpeed_0:xp,_emscripten_bind_b2RayCastOutput_get_normal_0:Pi,_emscripten_bind_b2WeldJoint_GetBodyA_0:zl,_emscripten_bind_b2MotorJointDef_set_maxForce_1:bv,_emscripten_enum_b2DrawFlag_e_jointBit:Tv,_emscripten_bind_b2FixtureDef_get_isSensor_0:jg,_emscripten_bind_b2PulleyJointDef_set_bodyB_1:qm,_emscripten_bind_b2WheelJoint_EnableMotor_1:_p,_emscripten_bind_b2WheelJoint_GetLocalAnchorA_0:Up,_emscripten_bind_JSDraw_DrawSolidPolygon_3:Op,_emscripten_bind_b2Rot_Set_1:vd,_emscripten_bind_b2ContactFeature_set_typeB_1:ef,_emscripten_bind_JSDraw___destroy___0:Tp,_emscripten_bind_b2MouseJointDef___destroy___0:gr,_emscripten_bind_b2Mat33_Solve22_1:ic,_emscripten_bind_b2Profile_set_solvePosition_1:le,_emscripten_bind_b2ContactFilter___destroy___0:tu,_emscripten_bind_b2PulleyJointDef_get_localAnchorB_0:bm,_emscripten_bind_b2ChainShape_set_m_hasPrevVertex_1:wn,_emscripten_bind_b2PrismaticJoint___destroy___0:Oi,_emscripten_bind_b2World_CreateJoint_1:Fh,_emscripten_bind_b2Profile_get_solveTOI_0:oe,_emscripten_bind_b2ManifoldPoint_get_id_0:Cm,_emscripten_bind_b2Manifold_set_pointCount_1:Rg,_emscripten_bind_b2PrismaticJoint_GetMotorSpeed_0:yi,_emscripten_bind_b2Body_SetSleepingAllowed_1:Rs,_emscripten_bind_b2Rot_SetIdentity_0:wd,_emscripten_bind_b2PulleyJoint_GetGroundAnchorB_0:wq,_emscripten_bind_b2Vec3_op_add_1:Cf,_emscripten_bind_b2FrictionJoint_GetType_0:lt,_emscripten_bind_b2DistanceJointDef_set_dampingRatio_1:Ur,_emscripten_bind_b2MotorJoint_GetBodyA_0:Qd,_emscripten_bind_b2MouseJointDef_get_dampingRatio_0:Wq,_emscripten_bind_b2RevoluteJoint_GetMotorSpeed_0:cu,_emscripten_bind_b2ChainShape_set_m_type_1:An,_emscripten_bind_b2RevoluteJointDef_set_bodyB_1:Ip,_emscripten_bind_b2Body_GetGravityScale_0:Ls,_emscripten_bind_b2GearJointDef_get_bodyB_0:Mt,_emscripten_bind_b2Mat33_b2Mat33_0:ec,_emscripten_bind_b2MouseJointDef_get_bodyB_0:cr,_emscripten_bind_b2Shape_TestPoint_2:Ar,_emscripten_bind_b2Body_GetWorldVector_1:Cs,_emscripten_bind_b2WeldJointDef_get_frequencyHz_0:mk,_emscripten_bind_b2PolygonShape_Set_2:no,_emscripten_bind_b2Manifold___destroy___0:Sg,_emscripten_bind_b2PulleyJointDef_set_lengthA_1:em,_emscripten_bind_b2RevoluteJointDef_set_localAnchorA_1:kp,_emscripten_bind_b2GearJoint___destroy___0:pl,_emscripten_bind_b2RevoluteJoint_GetJointAngle_0:Ut,_emscripten_bind_b2PulleyJointDef_set_ratio_1:im,_emscripten_bind_b2JointEdge_set_prev_1:Rl,_emscripten_bind_b2PrismaticJoint_GetReactionTorque_1:Ii,_emscripten_bind_b2Body_GetLocalPoint_1:Ds,_emscripten_bind_b2PrismaticJoint_GetCollideConnected_0:Ni,_emscripten_bind_b2RopeJointDef_get_userData_0:Nu,_emscripten_bind_b2DistanceJoint_IsActive_0:bc,_emscripten_bind_b2MotorJointDef_set_angularOffset_1:$u,_emscripten_bind_b2Vec2_b2Vec2_2:hf,_emscripten_bind_b2PrismaticJoint_GetJointTranslation_0:oi,_emscripten_bind_b2Vec2_b2Vec2_0:gf,_emscripten_bind_b2DistanceJoint_GetAnchorB_0:Xb,_emscripten_bind_b2WheelJointDef_get_maxMotorTorque_0:zj,_emscripten_bind_b2Vec2_op_sub_1:mf,_emscripten_bind_b2CircleShape_get_m_p_0:Zj,_emscripten_bind_b2ContactFeature_get_indexA_0:Ze,_emscripten_bind_b2MotorJointDef_b2MotorJointDef_0:Wu,_emscripten_bind_b2ChainShape_set_m_nextVertex_1:un,_emscripten_bind_b2PulleyJoint_GetCollideConnected_0:Nq,_emscripten_bind_b2PulleyJoint_GetAnchorB_0:Gq,_emscripten_bind_b2Mat33_get_ex_0:lc,_emscripten_bind_b2Body_GetPosition_0:js,_emscripten_bind_b2Profile___destroy___0:qe,_emscripten_bind_b2ContactEdge_get_prev_0:zu,_emscripten_bind_b2DistanceJoint_SetFrequency_1:Pb,_emscripten_enum_b2ShapeType_e_chain:uv,_emscripten_enum_b2ContactFeatureType_e_vertex:Xv,_emscripten_bind_b2Fixture_GetBody_0:zc,_emscripten_bind_b2ContactImpulse_set_count_1:Jb,_emscripten_bind_b2PulleyJointDef_get_bodyB_0:pm,_emscripten_bind_b2Rot_set_c_1:Dd,_emscripten_bind_b2RevoluteJoint_GetReactionTorque_1:mu,_emscripten_bind_b2Fixture_SetDensity_1:Gc,_emscripten_bind_b2ChainShape_get_m_prevVertex_0:rn,_emscripten_bind_b2World_ClearForces_0:Ih,_emscripten_bind_b2Vec3___destroy___0:Lf,_emscripten_bind_b2WheelJointDef_set_userData_1:Kj,_emscripten_bind_b2WeldJoint_SetFrequency_1:tl,_emscripten_bind_b2WheelJoint_SetSpringFrequencyHz_1:eq,_emscripten_bind_b2Body_SetFixedRotation_1:Xs,_emscripten_bind_b2RayCastOutput_set_normal_1:Qi,_emscripten_bind_b2DistanceJoint_GetDampingRatio_0:Sb,_emscripten_bind_b2WeldJointDef_set_userData_1:tk,_emscripten_bind_b2Body_GetMassData_1:ys,_emscripten_bind_b2MouseJointDef_set_bodyB_1:dr,_emscripten_bind_b2CircleShape_GetType_0:Tj,_emscripten_bind_b2PolygonShape_GetType_0:so,_emscripten_bind_b2PrismaticJointDef_set_referenceAngle_1:ah,_emscripten_bind_b2RopeJointDef_get_collideConnected_0:Tu,_emscripten_bind_b2FixtureDef_set_filter_1:mg,_emscripten_bind_b2PulleyJointDef_get_groundAnchorA_0:Xl,_emscripten_bind_b2Fixture_SetFilterData_1:wc,_emscripten_bind_b2FrictionJointDef_get_userData_0:Ag,_emscripten_bind_b2RayCastCallback___destroy___0:ql,_emscripten_bind_b2PulleyJointDef_set_localAnchorA_1:am,_emscripten_bind_b2MotorJoint_SetUserData_1:Yd,_emscripten_bind_b2PrismaticJoint_GetLocalAxisA_0:mi,_emscripten_bind_b2MotorJoint_GetBodyB_0:Rd,_emscripten_bind_b2Transform_Set_2:Vm,_emscripten_bind_b2MouseJoint_SetTarget_1:_c,_emscripten_bind_b2RopeJointDef_get_localAnchorA_0:Fu,_emscripten_bind_b2ContactEdge_set_contact_1:yu,_emscripten_bind_b2RevoluteJointDef_get_enableLimit_0:pp,_emscripten_bind_b2CircleShape_get_m_radius_0:bk,_emscripten_bind_b2RevoluteJoint_GetUserData_0:ou,_emscripten_bind_b2Profile_set_solveTOI_1:pe,_emscripten_bind_b2PrismaticJointDef_set_type_1:oh,_emscripten_bind_b2GearJointDef_get_userData_0:It,_emscripten_bind_b2RevoluteJoint_GetAnchorB_0:ku,_emscripten_bind_b2FrictionJointDef___destroy___0:Ig,_emscripten_bind_b2PrismaticJoint_GetReactionForce_1:Hi,_emscripten_bind_b2Transform_b2Transform_0:Sm,_emscripten_bind_b2MouseJoint_GetCollideConnected_0:rd,_emscripten_enum_b2LimitState_e_equalLimits:Lv,_emscripten_bind_b2ManifoldPoint_set_normalImpulse_1:zm,_emscripten_bind_b2Body_GetContactList_0:$s,_emscripten_bind_b2Body_IsFixedRotation_0:Ys,_emscripten_enum_b2DrawFlag_e_shapeBit:Sv,_emscripten_bind_b2Contact_GetFriction_0:rr,_emscripten_bind_b2WheelJoint_GetAnchorB_0:mq,_emscripten_bind_b2DistanceJointDef_set_length_1:Qr,_emscripten_bind_b2DistanceJoint_GetLocalAnchorB_0:Mb,_emscripten_bind_b2FrictionJoint_GetLocalAnchorB_0:gt,_emscripten_bind_b2Mat33_set_ey_1:oc,_emscripten_bind_b2DistanceJointDef_get_type_0:Vr,_emscripten_bind_b2Draw_ClearFlags_1:Ek,_emscripten_bind_b2Body_IsActive_0:Ws,_emscripten_bind_b2Contact_ResetRestitution_0:vr,_emscripten_bind_b2World_GetAllowSleeping_0:Qh,_emscripten_bind_b2ManifoldPoint_b2ManifoldPoint_0:vm,_emscripten_bind_b2PrismaticJointDef_set_maxMotorForce_1:kh,_emscripten_bind_b2GearJointDef_set_bodyA_1:Lt,_emscripten_bind_b2RevoluteJointDef_set_enableMotor_1:wp,_emscripten_bind_b2PulleyJoint_IsActive_0:Mq,_emscripten_bind_b2MouseJoint_GetNext_0:nd,_emscripten_bind_b2Transform_set_p_1:Xm,_emscripten_bind_b2EdgeShape_set_m_vertex0_1:Uo,_emscripten_bind_b2PulleyJointDef_get_lengthB_0:fm,_emscripten_bind_b2WeldJoint_SetUserData_1:Hl,_emscripten_bind_b2Fixture_SetSensor_1:uc,_emscripten_bind_b2GearJointDef_get_joint1_0:At,_emscripten_bind_b2PrismaticJoint_GetMotorForce_1:Bi,_emscripten_bind_b2DistanceJoint_GetBodyA_0:Ub,_emscripten_bind_b2GearJoint_IsActive_0:nl,_emscripten_bind_b2EdgeShape_get_m_vertex0_0:To,_emscripten_bind_b2World_GetBodyCount_0:Yh,_emscripten_bind_b2Fixture_GetMassData_1:Fc,_emscripten_bind_b2WeldJointDef_get_collideConnected_0:yk,_emscripten_bind_b2FrictionJoint_GetMaxTorque_0:kt,_emscripten_bind_b2EdgeShape_RayCast_4:Mo,_emscripten_bind_b2BodyDef_set_allowSleep_1:Ie,_emscripten_bind_b2PulleyJoint_GetType_0:Cq,_emscripten_bind_b2WeldJointDef_set_localAnchorA_1:hk,_emscripten_bind_b2Profile_set_step_1:be,_emscripten_bind_b2ContactEdge_set_other_1:wu,_emscripten_bind_b2PulleyJoint_GetCurrentLengthB_0:Bq,_emscripten_bind_b2Vec2_op_mul_1:nf,_emscripten_bind_b2PrismaticJointDef_get_localAnchorA_0:Vg,_emscripten_bind_b2EdgeShape___destroy___0:dp,_emscripten_bind_b2RopeJoint_GetAnchorA_0:Wn,_emscripten_bind_b2World_GetContactCount_0:_h,_emscripten_bind_b2MotorJointDef_set_correctionFactor_1:fv,_emscripten_bind_b2DistanceJointDef_set_userData_1:Yr,_emscripten_bind_b2ContactEdge_get_other_0:vu,_emscripten_bind_b2RopeJoint_GetLocalAnchorB_0:Pn,_emscripten_bind_b2PulleyJointDef___destroy___0:tm,_emscripten_bind_b2MouseJoint_GetBodyB_0:id,_emscripten_bind_b2PolygonShape_TestPoint_2:uo,_emscripten_bind_b2EdgeShape_set_m_vertex3_1:Wo,_emscripten_bind_b2PolygonShape_b2PolygonShape_0:mo,_emscripten_bind_b2GearJointDef_set_ratio_1:Ft,_emscripten_bind_b2WheelJoint_SetMaxMotorTorque_1:bq,_emscripten_bind_b2WheelJointDef_get_localAxisA_0:vj,_emscripten_bind_b2DistanceJointDef_get_localAnchorA_0:Lr,_emscripten_bind_b2MassData_set_center_1:Kk,_emscripten_bind_b2Contact_SetTangentSpeed_1:wr,_emscripten_bind_b2FrictionJointDef_get_localAnchorB_0:sg,_emscripten_bind_b2BodyDef_get_active_0:Pe,_emscripten_bind_b2Body_GetAngularVelocity_0:qs,_emscripten_bind_b2WeldJoint_GetBodyB_0:Al,_emscripten_bind_b2Draw___destroy___0:Fk,_emscripten_bind_b2WheelJointDef_Initialize_4:qj,_emscripten_bind_b2WeldJointDef_set_dampingRatio_1:pk,_emscripten_bind_b2Contact_IsEnabled_0:kr,_emscripten_bind_b2Joint_GetAnchorB_0:Sk,_emscripten_bind_b2PrismaticJointDef_get_userData_0:ph,_emscripten_bind_b2MotorJoint_GetMaxForce_0:Kd,_emscripten_bind_b2RevoluteJoint_GetBodyA_0:hu,_emscripten_bind_b2ContactID_set_cf_1:Vi,_emscripten_bind_b2Rot_GetXAxis_0:yd,_emscripten_bind_b2ContactEdge_set_prev_1:Au,_emscripten_bind_b2Vec3_Set_3:Bf,_emscripten_bind_b2Fixture_GetNext_0:Ac,_emscripten_bind_b2FrictionJointDef_set_localAnchorB_1:tg,_emscripten_bind_b2PulleyJoint_GetNext_0:Jq,_emscripten_bind_b2ChainShape_get_m_type_0:zn,_emscripten_bind_b2GearJointDef_get_bodyA_0:Kt,_emscripten_bind_b2DistanceJointDef_set_frequencyHz_1:Sr,_emscripten_bind_b2RevoluteJointDef_get_localAnchorB_0:lp,_emscripten_bind_b2RevoluteJointDef_get_referenceAngle_0:np,_emscripten_bind_JSContactFilter___destroy___0:gp,_memset:QB,_emscripten_bind_b2PolygonShape_get_m_radius_0:Eo,_emscripten_bind_b2RopeJoint_GetUserData_0:$n,_emscripten_bind_b2RopeJointDef_get_bodyA_0:Pu,_emscripten_bind_b2DistanceJointDef_get_dampingRatio_0:Tr,_emscripten_enum_b2ManifoldType_e_faceA:Nv,_emscripten_enum_b2ManifoldType_e_faceB:Ov,_emscripten_bind_b2RevoluteJointDef_get_bodyB_0:Hp,_emscripten_bind_b2FixtureDef_b2FixtureDef_0:_f,_emscripten_bind_b2PrismaticJoint_SetUserData_1:Li,_emscripten_bind_b2EdgeShape_get_m_hasVertex3_0:Zo,_emscripten_enum_b2ShapeType_e_edge:sv,_emscripten_bind_b2RevoluteJoint_GetMaxMotorTorque_0:eu,_emscripten_bind_b2BodyDef_set_active_1:Qe,_emscripten_bind_b2DistanceJointDef_set_localAnchorB_1:Or,_emscripten_bind_b2Body_GetWorldPoint_1:Bs,_emscripten_bind_b2ManifoldPoint_get_normalImpulse_0:ym,_emscripten_bind_JSContactFilter_ShouldCollide_2:fp,_emscripten_bind_b2Joint_GetReactionTorque_1:Uk,_emscripten_bind_b2RevoluteJointDef_set_type_1:Cp,_emscripten_bind_b2RopeJointDef_b2RopeJointDef_0:Eu,_emscripten_bind_b2BodyDef_get_linearDamping_0:De,_emscripten_bind_b2MotorJointDef_get_bodyB_0:mv,_emscripten_bind_b2World_Step_3:Hh,_emscripten_bind_b2CircleShape_RayCast_4:Wj,_emscripten_bind_b2Profile_get_step_0:ae,_emscripten_bind_b2Vec3_b2Vec3_0:yf,_emscripten_bind_b2Vec3_b2Vec3_3:zf,_emscripten_bind_b2PulleyJoint_GetLengthB_0:yq,_emscripten_bind_b2Filter_set_categoryBits_1:Rc,_emscripten_bind_b2MotorJoint_GetUserData_0:Xd,_emscripten_bind_b2PrismaticJoint_GetLocalAnchorA_0:ki,_emscripten_bind_b2Shape_get_m_type_0:Er,_emscripten_bind_b2MouseJoint_SetDampingRatio_1:ed,_emscripten_bind_b2World_GetAutoClearForces_0:gi,_emscripten_enum_b2ShapeType_e_circle:rv,_emscripten_bind_b2BodyDef_set_fixedRotation_1:Me,_emscripten_bind_b2RopeJoint_GetLimitState_0:Sn,_emscripten_bind_b2JointDef_get_collideConnected_0:Pm,_emscripten_bind_b2Body_Dump_0:et,_emscripten_bind_b2RevoluteJoint_GetLowerLimit_0:Yt,_emscripten_bind_b2Body_GetWorldCenter_0:ls,_emscripten_bind_JSContactListener___destroy___0:bj,_emscripten_bind_b2BodyDef_set_linearVelocity_1:Ae,_emscripten_bind_b2JointDef_set_collideConnected_1:Qm,_emscripten_bind_b2MotorJoint___destroy___0:$d,_emscripten_bind_b2Body_GetUserData_0:bt,_emscripten_bind_b2World_GetContinuousPhysics_0:Uh,_emscripten_bind_b2Fixture_RayCast_3:Ec,_emscripten_bind_b2JointDef_set_bodyA_1:Mm,_emscripten_bind_b2GearJointDef_get_collideConnected_0:Ot,_emscripten_bind_b2RopeJointDef_get_maxLength_0:Ju,_emscripten_bind_b2MouseJointDef_get_bodyA_0:ar,_emscripten_bind_b2Body_SetBullet_1:Ps,_emscripten_bind_b2DistanceJoint_GetType_0:Tb,_emscripten_bind_b2FixtureDef_get_restitution_0:fg,_emscripten_bind_b2Fixture_GetType_0:sc,_emscripten_bind_b2PulleyJointDef_set_localAnchorB_1:cm,_emscripten_bind_b2RevoluteJoint_GetBodyB_0:iu,_emscripten_bind_b2Profile_set_solveInit_1:he,_emscripten_bind_b2RopeJointDef_set_type_1:Mu,_emscripten_bind_b2PrismaticJointDef_get_bodyB_0:th,_emscripten_bind_b2Body_SetLinearVelocity_1:ns,_emscripten_bind_b2RevoluteJoint_GetReferenceAngle_0:Tt,_emscripten_bind_b2PulleyJointDef_get_userData_0:lm,_emscripten_bind_b2PrismaticJointDef_set_bodyB_1:uh,_emscripten_bind_b2FrictionJointDef_b2FrictionJointDef_0:og,_free:OB,_emscripten_bind_b2PulleyJoint_GetCurrentLengthA_0:Aq,_emscripten_bind_b2Manifold_get_localNormal_0:Kg,_emscripten_bind_b2AABB_RayCast_2:Uf,_emscripten_bind_b2FixtureDef_set_isSensor_1:kg,_emscripten_bind_b2RopeJoint_GetBodyB_0:Vn,_emscripten_bind_b2PrismaticJoint_GetAnchorA_0:Fi,_emscripten_bind_b2ChainShape_set_m_count_1:qn,_emscripten_bind_b2PrismaticJoint_IsMotorEnabled_0:vi,_emscripten_bind_b2WeldJoint_GetFrequency_0:ul,_emscripten_bind_b2Joint_GetUserData_0:Wk,_emscripten_bind_b2RevoluteJointDef_get_lowerAngle_0:rp,_emscripten_bind_b2Manifold_set_type_1:Pg,_emscripten_bind_b2DistanceJoint_GetLength_0:Ob,_emscripten_bind_b2RopeJointDef_set_maxLength_1:Ku,_emscripten_bind_b2ChainShape_TestPoint_2:jn,_emscripten_bind_b2PrismaticJoint_GetReferenceAngle_0:ni,_emscripten_bind_b2RayCastInput_get_p2_0:ho,_emscripten_bind_b2RevoluteJoint_EnableLimit_1:Xt,_emscripten_bind_b2BodyDef_set_angle_1:ye,_emscripten_bind_b2WeldJoint_GetUserData_0:Gl,_emscripten_bind_b2WheelJointDef_get_localAnchorA_0:rj,_emscripten_bind_b2PulleyJointDef_set_type_1:km,_emscripten_bind_b2Body_IsBullet_0:Qs,_emscripten_bind_b2MotorJointDef_set_bodyA_1:lv,_emscripten_bind_b2Mat33_GetSymInverse33_1:kc,_emscripten_bind_b2Body_ApplyLinearImpulse_3:us,_emscripten_bind_b2PolygonShape_ComputeMass_2:xo,_emscripten_bind_b2WeldJoint_GetLocalAnchorA_0:rl,_emscripten_bind_b2MouseJoint_SetFrequency_1:cd,_emscripten_bind_b2EdgeShape_get_m_vertex1_0:Po,_emscripten_bind_b2BodyDef_set_awake_1:Ke,_emscripten_bind_b2Vec2_get_y_0:vf,_emscripten_bind_b2Body_CreateFixture_1:es,_emscripten_bind_b2Body_CreateFixture_2:fs,_emscripten_bind_b2PulleyJoint_GetUserData_0:Kq,_emscripten_bind_b2Body_SetActive_1:Vs,_emscripten_bind_b2Fixture_GetUserData_0:Bc,_emscripten_bind_b2PolygonShape_ComputeAABB_3:wo,_emscripten_bind_b2ContactFeature_get_typeA_0:bf,_emscripten_bind_b2MouseJoint_GetReactionForce_1:ld,_emscripten_bind_b2FrictionJoint_GetReactionTorque_1:rt,_emscripten_bind_b2EdgeShape_TestPoint_2:Lo,_memcpy:SB,_emscripten_bind_b2PolygonShape_get_m_centroid_0:yo,_emscripten_bind_b2ChainShape___destroy___0:Dn,_emscripten_bind_b2GearJoint_SetUserData_1:ml,_emscripten_bind_b2Vec3_set_z_1:Kf,_emscripten_bind_b2PrismaticJointDef_set_enableLimit_1:ch,_emscripten_bind_b2DistanceJoint_GetFrequency_0:Qb,_emscripten_bind_b2Body_SetGravityScale_1:Ms,_emscripten_enum_b2ContactFeatureType_e_face:Yv,_emscripten_bind_b2AABB_GetPerimeter_0:Qf,_emscripten_bind_b2PulleyJointDef_get_lengthA_0:dm,_emscripten_bind_b2Vec3_set_x_1:Gf,_emscripten_bind_b2PulleyJointDef_get_type_0:jm,_emscripten_bind_JSDestructionListener_SayGoodbyeJoint_1:Fb,_emscripten_bind_b2Shape___destroy___0:Ir,_strlen:RB,_emscripten_bind_b2Color_set_b_1:Mn,_emscripten_bind_b2Joint_GetReactionForce_1:Tk,_emscripten_bind_b2FixtureDef_set_friction_1:eg,_emscripten_bind_b2ContactID___destroy___0:Yi,_emscripten_bind_b2EdgeShape_get_m_hasVertex0_0:Xo,_emscripten_bind_JSRayCastCallback_ReportFixture_4:Xe,_emscripten_bind_b2MotorJointDef_get_linearOffset_0:Yu,_emscripten_bind_b2Profile_set_solveVelocity_1:je,_emscripten_bind_b2PrismaticJoint_GetAnchorB_0:Gi,_emscripten_bind_b2WeldJointDef_b2WeldJointDef_0:ek,_emscripten_enum_b2BodyType_b2_staticBody:Pv,_emscripten_bind_b2RevoluteJointDef_set_upperAngle_1:up,_emscripten_bind_b2RevoluteJointDef_get_type_0:Bp,_emscripten_bind_b2GearJointDef_get_type_0:Gt,_emscripten_bind_b2ChainShape_GetType_0:gn,_emscripten_bind_b2RayCastInput_get_maxFraction_0:jo,_emscripten_bind_b2GearJoint_GetBodyA_0:el,_emscripten_bind_b2Body_GetLocalVector_1:Es,_emscripten_bind_b2PrismaticJoint_EnableLimit_1:ri,_emscripten_bind_b2FrictionJointDef_get_maxForce_0:ug,_emscripten_bind_b2BodyDef_set_angularVelocity_1:Ce,_emscripten_bind_b2Body_SetLinearDamping_1:Is,_emscripten_bind_b2WheelJoint_GetBodyB_0:kq,_emscripten_bind_b2Color___destroy___0:Nn,_emscripten_bind_b2PrismaticJoint_IsActive_0:Mi,_emscripten_bind_b2Filter_get_categoryBits_0:Qc,_emscripten_enum_b2JointType_e_weldJoint:Ev,_emscripten_bind_b2World_SetContinuousPhysics_1:Th,_emscripten_bind_b2MouseJointDef_get_target_0:Qq,_emscripten_bind_b2Manifold_b2Manifold_0:Jg,_emscripten_bind_b2PulleyJointDef_set_userData_1:mm,_emscripten_bind_b2FrictionJointDef_set_maxForce_1:vg,_emscripten_bind_b2DistanceJointDef_b2DistanceJointDef_0:Jr,_emscripten_bind_b2PolygonShape_set_m_centroid_1:zo,_emscripten_bind_b2Mat33_GetInverse22_1:jc,_emscripten_bind_b2PolygonShape_SetAsBox_4:po,_emscripten_bind_b2EdgeShape_get_m_vertex2_0:Ro,_emscripten_bind_b2WheelJoint_GetReactionTorque_1:oq,_emscripten_bind_b2RevoluteJointDef_b2RevoluteJointDef_0:hp,_emscripten_bind_b2ContactFeature_set_typeA_1:cf,_emscripten_bind_b2Fixture_Dump_1:Nc,_emscripten_bind_b2World_GetJointList_0:Nh,_emscripten_bind_b2Manifold_set_localPoint_1:Ng,_emscripten_bind_b2DistanceJoint_SetUserData_1:ac,_emscripten_bind_b2BodyDef_set_bullet_1:Oe,_emscripten_bind_b2RayCastOutput___destroy___0:Ti,___cxa_can_catch:LB,_emscripten_bind_b2WheelJoint_GetNext_0:pq,_emscripten_bind_b2AABB_GetCenter_0:Of,_emscripten_bind_b2Filter_set_groupIndex_1:Vc,_emscripten_bind_b2JointDef_b2JointDef_0:Gm,_emscripten_bind_b2CircleShape_b2CircleShape_0:Sj,_emscripten_bind_b2GearJointDef_b2GearJointDef_0:zt,_emscripten_bind_b2JointDef_get_bodyB_0:Nm,_emscripten_bind_b2DistanceJoint_GetReactionForce_1:Yb,_emscripten_bind_b2PrismaticJoint_GetJointSpeed_0:pi,_emscripten_bind_b2PulleyJointDef_get_groundAnchorB_0:Zl,_emscripten_bind_b2Joint_GetAnchorA_0:Rk,_emscripten_bind_b2Contact_GetRestitution_0:ur,_emscripten_bind_b2ContactEdge_get_contact_0:xu,_emscripten_bind_b2RevoluteJointDef_get_userData_0:Dp,_emscripten_bind_b2Body_ApplyTorque_2:ts,_emscripten_bind_b2Fixture_GetAABB_1:Mc,_emscripten_bind_b2DistanceJointDef_Initialize_4:Kr,_emscripten_bind_b2PrismaticJointDef_set_collideConnected_1:wh,_emscripten_bind_b2PrismaticJointDef_set_localAxisA_1:_g,_emscripten_bind_b2Contact_GetTangentSpeed_0:xr,_emscripten_enum_b2LimitState_e_atLowerLimit:Jv,_emscripten_bind_b2ManifoldPoint_set_id_1:Dm,_emscripten_bind_b2WheelJointDef_get_bodyB_0:Nj,_emscripten_bind_b2WeldJoint_GetLocalAnchorB_0:sl,_emscripten_bind_b2RevoluteJointDef_set_localAnchorB_1:mp,_emscripten_bind_b2RevoluteJoint_GetType_0:gu,_emscripten_bind_b2Body_DestroyFixture_1:gs,_emscripten_bind_b2Profile_set_broadphase_1:ne,_emscripten_bind_b2WheelJointDef_get_localAnchorB_0:tj,_emscripten_bind_b2ContactImpulse_get_count_0:Ib,_emscripten_bind_b2World_GetJointCount_0:Zh,_emscripten_bind_b2WheelJoint_GetMotorSpeed_0:aq,_emscripten_bind_b2Body_GetAngularDamping_0:Js,_emscripten_bind_b2WheelJointDef_get_dampingRatio_0:Fj,_emscripten_bind_b2RayCastOutput_get_fraction_0:Ri,_emscripten_enum_b2ManifoldType_e_circles:Mv,_emscripten_bind_b2GearJoint_SetRatio_1:bl,_emscripten_bind_JSDraw_DrawPolygon_3:Np,_emscripten_bind_b2Filter___destroy___0:Wc,_emscripten_bind_b2JointEdge_set_next_1:Tl,___cxa_is_pointer_type:MB,_emscripten_bind_b2BodyDef_get_fixedRotation_0:Le,_emscripten_bind_b2PrismaticJointDef_set_motorSpeed_1:mh,_emscripten_bind_b2ChainShape_SetPrevVertex_1:dn,_emscripten_bind_b2MotorJoint_IsActive_0:Zd,_emscripten_bind_b2MouseJoint_GetReactionTorque_1:md,_emscripten_bind_b2MouseJoint_GetUserData_0:od,_emscripten_bind_b2WheelJoint_GetUserData_0:qq,_emscripten_bind_b2Vec3_op_sub_1:Df,_emscripten_bind_b2BodyDef_get_gravityScale_0:Te,_emscripten_bind_b2Shape_GetType_0:yr,_emscripten_bind_b2AABB_IsValid_0:Nf,_emscripten_bind_b2WheelJoint_GetBodyA_0:jq,_emscripten_bind_JSDraw_DrawTransform_1:Sp,_emscripten_bind_b2PulleyJoint_GetLengthA_0:xq,_emscripten_bind_b2DistanceJointDef_get_frequencyHz_0:Rr,_emscripten_bind_b2RevoluteJoint_SetMotorSpeed_1:bu,_emscripten_bind_b2World___destroy___0:ji,_emscripten_bind_b2ChainShape_get_m_hasNextVertex_0:xn,_emscripten_bind_b2ChainShape_SetNextVertex_1:en,_emscripten_bind_b2Body_SetType_1:Ns,_emscripten_bind_b2Body_GetMass_0:ws,_emscripten_bind_b2Rot_b2Rot_0:td,_emscripten_bind_b2Rot_b2Rot_1:ud,_emscripten_enum_b2JointType_e_distanceJoint:zv,_emscripten_bind_b2PulleyJoint___destroy___0:Oq,_emscripten_bind_b2PrismaticJoint_GetLocalAnchorB_0:li,_emscripten_bind_b2MouseJoint_GetType_0:gd,_emscripten_bind_JSQueryCallback___destroy___0:Zc,_emscripten_bind_b2RevoluteJointDef_set_lowerAngle_1:sp,_emscripten_bind_b2JointEdge___destroy___0:Ul,_emscripten_bind_b2PulleyJoint_GetRatio_0:zq,_emscripten_bind_JSContactListener_BeginContact_1:$i,_emscripten_bind_b2MotorJointDef_set_linearOffset_1:Zu,_emscripten_enum_b2JointType_e_motorJoint:Hv,_emscripten_bind_b2JointEdge_get_next_0:Sl,_emscripten_bind_b2RayCastInput_set_maxFraction_1:ko,_emscripten_bind_b2MouseJoint_GetBodyA_0:hd,_emscripten_bind_b2Profile_set_collide_1:de,_emscripten_bind_b2AABB_b2AABB_0:Mf,_emscripten_bind_b2Fixture_Refilter_0:yc,_emscripten_bind_b2World_CreateBody_1:Dh,_emscripten_bind_b2RopeJointDef_set_userData_1:Ou,_emscripten_bind_b2Fixture_IsSensor_0:vc,_emscripten_bind_b2WeldJoint_GetType_0:yl,_emscripten_bind_b2PrismaticJointDef_get_motorSpeed_0:lh,_emscripten_bind_b2Rot___destroy___0:Ed,_emscripten_bind_b2Filter_get_maskBits_0:Sc,_emscripten_bind_b2Mat22_get_ex_0:kj,_emscripten_bind_b2Body_GetFixtureList_0:Zs,_emscripten_bind_b2RevoluteJointDef_get_enableMotor_0:vp,_emscripten_bind_b2MouseJointDef_set_dampingRatio_1:Xq,_emscripten_bind_JSRayCastCallback___destroy___0:Ye,_emscripten_bind_b2ContactListener___destroy___0:um,_emscripten_bind_b2PrismaticJointDef_set_localAnchorB_1:Yg,_emscripten_enum_b2DrawFlag_e_pairBit:Vv,_emscripten_bind_b2FrictionJoint___destroy___0:xt,_emscripten_bind_b2WeldJoint_Dump_0:xl,_emscripten_bind_b2MotorJoint_SetMaxForce_1:Jd,_emscripten_bind_b2FrictionJointDef_get_maxTorque_0:wg,_emscripten_bind_b2FrictionJoint_GetLocalAnchorA_0:ft,_emscripten_bind_b2WeldJointDef_get_localAnchorB_0:ik,_emscripten_bind_b2PrismaticJointDef_get_bodyA_0:rh,_emscripten_bind_b2Vec2_IsValid_0:rf,_emscripten_bind_b2PrismaticJointDef_set_bodyA_1:sh,_emscripten_bind_b2World_GetWarmStarting_0:Sh,_emscripten_bind_b2RevoluteJointDef_set_enableLimit_1:qp,_emscripten_bind_b2WeldJointDef___destroy___0:Ak,_emscripten_bind_b2Mat22_Solve_1:jj,_emscripten_bind_b2Color_get_g_0:Jn,_emscripten_bind_VoidPtr___destroy___0:re,_emscripten_bind_b2RopeJoint_GetNext_0:_n,_emscripten_bind_b2Filter_b2Filter_0:Pc,_emscripten_bind_b2PolygonShape_GetChildCount_0:to,_emscripten_bind_b2GearJointDef_get_ratio_0:Et,_emscripten_bind_b2Mat33_Solve33_1:hc,_emscripten_bind_b2PulleyJoint_GetReactionForce_1:Hq,_emscripten_bind_b2WheelJoint_GetCollideConnected_0:tq,_emscripten_bind_b2WheelJoint_SetSpringDampingRatio_1:gq,_emscripten_bind_b2RevoluteJointDef___destroy___0:Lp,_emscripten_bind_b2MouseJointDef_get_maxForce_0:Sq,_emscripten_bind_b2RevoluteJoint_EnableMotor_1:au,_emscripten_bind_b2ContactFeature_get_typeB_0:df,_emscripten_bind_b2MotorJoint_SetLinearOffset_1:Fd,_emscripten_bind_b2MotorJoint_GetReactionForce_1:Ud,_emscripten_bind_b2Rot_GetAngle_0:xd,_emscripten_bind_b2World_SetAllowSleeping_1:Ph,_emscripten_bind_b2MotorJoint_SetAngularOffset_1:Hd,_emscripten_bind_b2MotorJoint_GetLinearOffset_0:Gd,_emscripten_bind_b2FrictionJoint_GetCollideConnected_0:wt,_emscripten_bind_b2WheelJointDef_set_motorSpeed_1:Cj,_emscripten_bind_b2MotorJoint_GetAnchorA_0:Sd,_emscripten_bind_b2Fixture_GetDensity_0:Hc,_emscripten_bind_b2PolygonShape_get_m_type_0:Co,_emscripten_bind_b2Vec2_Set_2:kf,_emscripten_bind_b2WeldJointDef_get_type_0:qk,_emscripten_bind_b2MouseJointDef_b2MouseJointDef_0:Pq,_emscripten_bind_b2Rot_get_s_0:Ad,_emscripten_bind_b2FrictionJoint_SetMaxTorque_1:jt,_emscripten_bind_b2MouseJointDef_get_frequencyHz_0:Uq,_emscripten_bind_b2FrictionJoint_SetUserData_1:ut,_emscripten_bind_b2FixtureDef_set_userData_1:cg,_emscripten_bind_b2JointDef_get_userData_0:Jm,_emscripten_bind_b2DistanceJointDef_get_collideConnected_0:bs,_emscripten_bind_b2RevoluteJointDef_set_referenceAngle_1:op,_emscripten_bind_b2ContactFeature___destroy___0:ff,_emscripten_bind_b2DistanceJointDef_set_bodyB_1:as,_emscripten_bind_JSQueryCallback_JSQueryCallback_0:Xc,_emscripten_bind_b2ChainShape_GetChildCount_0:hn,_emscripten_bind_b2MassData_b2MassData_0:Gk,_emscripten_bind_b2Vec3_set_y_1:If,_emscripten_bind_b2AABB_Combine_1:Rf,_emscripten_bind_b2AABB_Combine_2:Sf,_emscripten_bind_b2PrismaticJoint_GetBodyA_0:Di,_emscripten_bind_b2PrismaticJoint_GetMaxMotorForce_0:Ai,_emscripten_bind_b2AABB___destroy___0:Zf,_emscripten_bind_b2Body_IsSleepingAllowed_0:Ss,_emscripten_bind_b2MouseJointDef_set_maxForce_1:Tq,_emscripten_bind_b2MotorJoint_GetCorrectionFactor_0:Od,_emscripten_bind_b2Profile_get_solve_0:ee,_emscripten_bind_JSDestructionListener_SayGoodbyeFixture_1:Gb,_emscripten_bind_b2PolygonShape_GetVertexCount_0:qo,_emscripten_bind_b2Rot_get_c_0:Cd,_emscripten_bind_b2AABB_set_lowerBound_1:Wf,_emscripten_bind_b2ChainShape_get_m_hasPrevVertex_0:vn,_emscripten_bind_b2MouseJoint_SetMaxForce_1:ad,_emscripten_bind_b2FrictionJointDef_get_bodyB_0:Eg,_emscripten_bind_b2JointDef_set_userData_1:Km,_emscripten_bind_b2ManifoldPoint_get_tangentImpulse_0:Am,_emscripten_bind_b2RevoluteJointDef_get_maxMotorTorque_0:zp,_emscripten_bind_b2WeldJointDef_get_dampingRatio_0:ok,_emscripten_bind_b2MouseJoint___destroy___0:sd,_emscripten_bind_b2EdgeShape_b2EdgeShape_0:Ho,_emscripten_bind_b2FrictionJoint_GetReactionForce_1:qt,_emscripten_bind_b2DistanceJointDef_set_type_1:Wr,_emscripten_bind_b2WeldJoint___destroy___0:Kl,_emscripten_bind_b2PulleyJoint_GetBodyA_0:Dq,_emscripten_bind_b2RopeJointDef_get_type_0:Lu,_emscripten_bind_b2CircleShape_ComputeMass_2:Yj,_emscripten_bind_b2DistanceJointDef_get_localAnchorB_0:Nr,_emscripten_bind_b2GearJointDef___destroy___0:Qt,_emscripten_bind_b2RevoluteJointDef_set_bodyA_1:Gp,_emscripten_enum_b2BodyType_b2_dynamicBody:Rv,_emscripten_bind_b2CircleShape_TestPoint_2:Vj,_emscripten_bind_b2MotorJointDef_get_maxTorque_0:cv,_emscripten_bind_b2Body_GetLinearVelocityFromLocalPoint_1:Gs,_emscripten_bind_b2Mat22_b2Mat22_0:cj,_emscripten_bind_b2MouseJoint_GetAnchorB_0:kd,_emscripten_enum_b2BodyType_b2_kinematicBody:Qv,_emscripten_bind_b2Manifold_get_localPoint_0:Mg,_emscripten_bind_b2GearJoint_GetBodyB_0:fl,_emscripten_bind_b2ChainShape_Clear_0:an,_emscripten_bind_b2CircleShape___destroy___0:dk,_emscripten_bind_b2MotorJoint_GetType_0:Pd,_emscripten_bind_b2BodyDef_get_awake_0:Je,_emscripten_bind_b2Contact_SetRestitution_1:tr,_emscripten_bind_b2BodyDef_get_angularDamping_0:Fe,_emscripten_bind_b2EdgeShape_get_m_vertex3_0:Vo,_emscripten_bind_b2Fixture_SetUserData_1:Cc,_emscripten_bind_b2Transform_SetIdentity_0:Um,_emscripten_bind_b2GearJointDef_set_joint1_1:Bt,_emscripten_bind_b2EdgeShape_set_m_vertex2_1:So,_emscripten_bind_b2ContactEdge_get_next_0:Bu,_emscripten_bind_b2ContactFeature_set_indexB_1:af,_emscripten_bind_b2Body_GetLinearVelocityFromWorldPoint_1:Fs,_emscripten_bind_b2WeldJoint_GetCollideConnected_0:Jl,_emscripten_bind_b2Mat22_set_ey_1:nj,_emscripten_bind_b2WheelJointDef_set_frequencyHz_1:Ej,_emscripten_bind_b2World_GetSubStepping_0:Wh,_emscripten_bind_b2Rot_GetYAxis_0:zd,_emscripten_bind_b2Contact_GetChildIndexB_0:pr,_emscripten_bind_b2DistanceJoint___destroy___0:dc,_emscripten_bind_b2EdgeShape_GetType_0:Jo,_emscripten_bind_b2WheelJointDef_set_dampingRatio_1:Gj,_emscripten_bind_b2ManifoldPoint___destroy___0:Em,_emscripten_enum_b2JointType_e_prismaticJoint:yv,_emscripten_bind_b2MotorJoint_GetNext_0:Wd,_emscripten_bind_b2Vec2_Length_0:of,_emscripten_bind_b2Vec2_SetZero_0:jf,_emscripten_bind_b2RopeJoint___destroy___0:eo,_emscripten_bind_b2World_DestroyJoint_1:Gh,_emscripten_bind_b2JointDef_set_bodyB_1:Om,_emscripten_bind_b2Mat22_Set_2:fj,_emscripten_bind_b2Body_GetType_0:Os,_emscripten_bind_b2WeldJoint_GetAnchorB_0:Cl,_emscripten_bind_b2WeldJoint_GetNext_0:Fl,_emscripten_bind_b2Shape_get_m_radius_0:Gr,_emscripten_bind_b2EdgeShape_ComputeAABB_3:No,_emscripten_bind_b2BodyDef_get_type_0:te,_emscripten_bind_b2WheelJointDef_set_collideConnected_1:Qj,_emscripten_bind_JSDestructionListener___destroy___0:Hb,_emscripten_bind_b2MotorJointDef_get_type_0:gv,_emscripten_bind_b2RopeJoint_GetLocalAnchorA_0:On,_emscripten_bind_b2BodyDef_set_linearDamping_1:Ee,_emscripten_bind_b2FrictionJoint_GetUserData_0:tt,_emscripten_bind_b2Contact_SetFriction_1:qr,_emscripten_bind_b2Manifold_set_localNormal_1:Lg,_emscripten_bind_b2JointDef_get_bodyA_0:Lm,_emscripten_bind_b2Body_GetLinearDamping_0:Hs,_emscripten_bind_b2WeldJointDef_set_frequencyHz_1:nk,_emscripten_bind_b2Body_ResetMassData_0:As,_emscripten_bind_b2PrismaticJointDef_set_enableMotor_1:ih,_emscripten_enum_b2JointType_e_wheelJoint:Dv,_emscripten_bind_b2Vec2_Skew_0:sf,_emscripten_bind_b2MouseJoint_GetDampingRatio_0:fd,_emscripten_bind_b2RevoluteJoint_GetAnchorA_0:ju,_emscripten_bind_b2ChainShape_set_m_prevVertex_1:sn,_emscripten_bind_b2WheelJoint_GetAnchorA_0:lq,_emscripten_bind_b2MotorJoint_GetMaxTorque_0:Md,_emscripten_bind_b2FrictionJoint_GetNext_0:st,_emscripten_bind_b2PrismaticJointDef_set_userData_1:qh,_emscripten_bind_b2FrictionJointDef_set_type_1:zg,_emscripten_bind_b2PrismaticJoint_GetUserData_0:Ki,_emscripten_bind_b2FrictionJointDef_get_collideConnected_0:Gg,_emscripten_bind_b2Body_GetInertia_0:xs,_emscripten_bind_b2WeldJointDef_set_referenceAngle_1:lk,_emscripten_bind_b2FrictionJoint_GetAnchorA_0:ot,_emscripten_bind_b2RopeJoint_GetType_0:Tn,_emscripten_bind_b2MassData_get_I_0:Lk,_emscripten_bind_b2WheelJointDef_get_motorSpeed_0:Bj,_emscripten_bind_b2WeldJointDef_get_referenceAngle_0:kk,_emscripten_enum_b2JointType_e_ropeJoint:Gv,_emscripten_bind_b2Filter_set_maskBits_1:Tc,_emscripten_bind_b2EdgeShape_set_m_radius_1:cp,_emscripten_bind_b2MotorJointDef_set_collideConnected_1:pv,_emscripten_bind_b2Mat22_b2Mat22_2:dj,_emscripten_bind_b2WheelJointDef_set_maxMotorTorque_1:Aj,_emscripten_bind_b2FrictionJointDef_set_bodyB_1:Fg,_emscripten_bind_b2Mat22_b2Mat22_4:ej,_emscripten_bind_b2ChainShape_set_m_hasNextVertex_1:yn,_emscripten_bind_b2Mat22_GetInverse_0:ij,_emscripten_bind_b2PrismaticJoint_EnableMotor_1:wi,_emscripten_bind_b2CircleShape_get_m_type_0:$j,_emscripten_bind_b2DistanceJoint_GetLocalAnchorA_0:Lb,_emscripten_bind_b2ContactEdge_b2ContactEdge_0:uu,_emscripten_bind_b2BodyDef___destroy___0:Ve,_emscripten_bind_b2FrictionJointDef_set_maxTorque_1:xg,_emscripten_bind_b2PolygonShape_GetVertex_1:ro,_emscripten_bind_b2PulleyJointDef_set_groundAnchorB_1:_l,_emscripten_bind_b2RevoluteJointDef_get_collideConnected_0:Jp,_emscripten_bind_b2DistanceJointDef_set_bodyA_1:_r,_emscripten_bind_b2RevoluteJoint_SetLimits_2:_t,_emscripten_bind_b2WeldJointDef_set_type_1:rk,_emscripten_bind_b2MotorJointDef___destroy___0:qv,_emscripten_bind_b2FixtureDef_set_density_1:ig,_emscripten_bind_b2Shape_set_m_type_1:Fr,_emscripten_bind_b2WheelJoint_GetJointTranslation_0:Xp,_emscripten_bind_b2WheelJoint_GetMotorTorque_1:dq,_emscripten_bind_b2RopeJoint_SetUserData_1:ao,_emscripten_bind_b2RopeJointDef___destroy___0:Vu,_emscripten_bind_b2WheelJoint_IsActive_0:sq,_emscripten_bind_b2PrismaticJointDef_get_enableMotor_0:hh,_emscripten_bind_b2MotorJointDef_set_bodyB_1:nv,_emscripten_bind_b2Transform_b2Transform_2:Tm,_emscripten_bind_b2WeldJoint_GetReactionForce_1:Dl,_emscripten_bind_b2ChainShape_RayCast_4:kn,_emscripten_bind_b2PrismaticJoint_GetUpperLimit_0:ti,_emscripten_bind_b2ContactID_get_cf_0:Ui,_emscripten_bind_b2MouseJointDef_set_frequencyHz_1:Vq,_emscripten_bind_b2ChainShape_get_m_radius_0:Bn,_emscripten_bind_b2Body_GetLinearVelocity_0:os,_emscripten_bind_b2ChainShape_set_m_radius_1:Cn,_emscripten_bind_b2DistanceJoint_GetReactionTorque_1:Zb,_emscripten_bind_b2World_Dump_0:ii,_emscripten_bind_b2RevoluteJoint_GetLocalAnchorB_0:St,_emscripten_bind_JSContactFilter_JSContactFilter_0:ep,_emscripten_bind_b2Profile_set_solve_1:fe,_emscripten_bind_b2WeldJoint_GetDampingRatio_0:wl,_emscripten_bind_b2Color_get_b_0:Ln,_emscripten_bind_b2MouseJointDef_get_userData_0:_q,_emscripten_bind_b2CircleShape_ComputeAABB_3:Xj,_emscripten_bind_b2RopeJoint_GetReactionForce_1:Yn,_emscripten_bind_b2PrismaticJointDef_get_enableLimit_0:bh,_emscripten_bind_b2ManifoldPoint_set_localPoint_1:xm,_emscripten_bind_b2Fixture_GetFilterData_0:xc,_emscripten_bind_b2World_GetBodyList_0:Mh,_emscripten_bind_b2Shape_ComputeMass_2:Dr,_emscripten_bind_b2Joint_GetNext_0:Vk,_emscripten_bind_b2PrismaticJointDef_get_collideConnected_0:vh,_emscripten_bind_b2World_RayCast_3:Lh,_emscripten_bind_b2MassData_set_I_1:Mk,_emscripten_bind_b2MassData___destroy___0:Nk,_emscripten_bind_b2Profile_get_collide_0:ce,_emscripten_bind_b2Color_b2Color_3:Fn,_emscripten_bind_b2Color_b2Color_0:En,_emscripten_bind_b2MouseJoint_GetFrequency_0:dd,_emscripten_bind_b2WeldJointDef_Initialize_3:fk,_emscripten_bind_b2Shape_GetChildCount_0:zr,_emscripten_enum_b2JointType_e_gearJoint:Cv,_emscripten_bind_b2FixtureDef_get_friction_0:dg,_emscripten_bind_b2PrismaticJointDef_set_localAnchorA_1:Wg,_emscripten_bind_b2Contact_GetManifold_0:hr,_emscripten_bind_b2MouseJoint_GetTarget_0:$c,_emscripten_bind_b2WeldJointDef_get_localAnchorA_0:gk,_emscripten_bind_b2MouseJoint_SetUserData_1:pd,_emscripten_bind_b2JointEdge_get_other_0:Ml,_emscripten_bind_b2ChainShape_GetChildEdge_2:fn,_emscripten_bind_b2GearJointDef_set_collideConnected_1:Pt,_emscripten_bind_b2MotorJointDef_get_angularOffset_0:_u,_emscripten_bind_b2WheelJoint_SetUserData_1:rq,_emscripten_bind_b2Body_ApplyForce_3:rs,_emscripten_bind_b2PrismaticJoint_SetMotorSpeed_1:xi,_emscripten_bind_b2DistanceJoint_GetCollideConnected_0:cc,_emscripten_bind_b2MouseJoint_GetMaxForce_0:bd,_emscripten_bind_b2World_SetGravity_1:ci,_emscripten_bind_b2Mat22_SetZero_0:hj,_emscripten_bind_b2Contact_GetChildIndexA_0:nr,_emscripten_bind_b2Fixture_SetRestitution_1:Lc,_emscripten_bind_b2Body_GetTransform_0:is,_emscripten_bind_b2ContactEdge___destroy___0:Du,_emscripten_bind_b2Mat33_set_ex_1:mc,_emscripten_bind_b2AABB_GetExtents_0:Pf,_emscripten_bind_b2RevoluteJointDef_get_bodyA_0:Fp,_emscripten_bind_b2PrismaticJoint_GetBodyB_0:Ei,_emscripten_bind_b2WheelJointDef_set_bodyA_1:Mj,_emscripten_bind_b2DistanceJointDef_set_collideConnected_1:cs,_emscripten_bind_b2BodyDef_get_angle_0:xe,_emscripten_bind_b2PulleyJoint_GetReactionTorque_1:Iq,_emscripten_bind_b2FixtureDef_get_shape_0:$f,_emscripten_bind_b2WeldJointDef_get_userData_0:sk,_emscripten_bind_b2FrictionJoint_SetMaxForce_1:ht,_emscripten_bind_b2Mat33_b2Mat33_3:fc,_emscripten_bind_b2Vec3_get_y_0:Hf,_emscripten_bind_b2JointDef_get_type_0:Hm,_emscripten_bind_JSQueryCallback_ReportFixture_1:Yc,_emscripten_bind_b2Fixture_TestPoint_1:Dc,_emscripten_bind_b2RevoluteJoint_GetCollideConnected_0:ru,_emscripten_bind_JSDraw_JSDraw_0:Mp,_emscripten_bind_b2MouseJoint_GetAnchorA_0:jd,_emscripten_bind_b2Transform_get_p_0:Wm,_emscripten_bind_b2EdgeShape_ComputeMass_2:Oo,_emscripten_bind_b2World_GetProfile_0:hi,_emscripten_bind_b2DistanceJointDef___destroy___0:ds,_emscripten_bind_b2RopeJointDef_set_bodyA_1:Qu,_emscripten_bind_b2JointDef_set_type_1:Im,_emscripten_bind_b2Draw_AppendFlags_1:Dk,_emscripten_bind_b2MotorJointDef_get_userData_0:iv,_emscripten_bind_b2World_GetContactList_0:Oh,_emscripten_bind_b2Mat33_set_ez_1:qc,_emscripten_bind_b2JointEdge_b2JointEdge_0:Ll,_emscripten_bind_b2FrictionJointDef_get_bodyA_0:Cg,_emscripten_bind_b2WheelJointDef_get_type_0:Hj,_emscripten_bind_b2RevoluteJoint_GetReactionForce_1:lu,_emscripten_bind_b2PulleyJointDef_set_collideConnected_1:sm,_emscripten_bind_b2RopeJoint_GetCollideConnected_0:co,_emscripten_bind_b2GearJointDef_set_joint2_1:Dt,_emscripten_bind_b2BodyDef_set_userData_1:Se,_emscripten_bind_b2GearJoint_GetAnchorB_0:hl,_emscripten_bind_b2RopeJoint_IsActive_0:bo,_emscripten_bind_b2Fixture_GetFriction_0:Ic,_emscripten_enum_b2DrawFlag_e_aabbBit:Uv,_emscripten_bind_b2RevoluteJointDef_Initialize_3:ip,_emscripten_bind_b2Body_GetAngle_0:ks,_emscripten_bind_b2EdgeShape_Set_2:Io,_emscripten_bind_b2Mat33_SetZero_0:gc,_emscripten_bind_b2MotorJointDef_set_maxTorque_1:dv,_emscripten_bind_b2PrismaticJointDef_get_localAxisA_0:Zg,_emscripten_bind_b2Mat22_get_ey_0:mj,_emscripten_bind_b2Mat22_SetIdentity_0:gj,_emscripten_bind_b2Joint_IsActive_0:Yk,_emscripten_bind_b2BodyDef_get_allowSleep_0:He,_emscripten_bind_b2World_GetTreeHeight_0:$h,_emscripten_bind_b2GearJoint_GetJoint2_0:al,_emscripten_bind_b2EdgeShape_set_m_vertex1_1:Qo,_emscripten_bind_b2Body_GetWorld_0:dt,_emscripten_enum_b2LimitState_e_inactiveLimit:Iv,_emscripten_bind_b2PulleyJointDef_set_lengthB_1:gm,_emscripten_bind_b2Body_SetAwake_1:Ts,_emscripten_bind_b2PrismaticJointDef_set_upperTranslation_1:gh,_emscripten_bind_b2Vec2___destroy___0:xf,_emscripten_bind_b2RayCastInput_set_p1_1:go,_emscripten_bind_b2Contact_ResetFriction_0:sr,_emscripten_bind_b2PulleyJoint_GetAnchorA_0:Fq,_emscripten_bind_b2BodyDef_get_linearVelocity_0:ze,_emscripten_bind_b2DistanceJointDef_get_bodyB_0:$r,_emscripten_bind_b2Mat22___destroy___0:oj,_emscripten_bind_b2RevoluteJoint_GetNext_0:nu,_emscripten_bind_b2WeldJointDef_get_bodyA_0:uk,_emscripten_bind_b2MotorJoint_GetAnchorB_0:Td,_emscripten_bind_b2Fixture_GetShape_0:tc,_emscripten_bind_b2PolygonShape_SetAsBox_2:oo,_emscripten_bind_b2Vec3_op_mul_1:Ef,_emscripten_bind_b2PolygonShape_set_m_type_1:Do,_emscripten_bind_b2WheelJoint_GetType_0:iq,_emscripten_bind_b2MotorJoint_GetAngularOffset_0:Id,_emscripten_bind_b2RevoluteJoint_IsActive_0:qu,_emscripten_bind_b2GearJoint_GetNext_0:kl,_emscripten_bind_b2MotorJointDef_get_correctionFactor_0:ev,_emscripten_bind_b2Color_Set_3:Gn,_emscripten_bind_b2EdgeShape_set_m_type_1:ap,_emscripten_bind_b2WheelJoint_GetLocalAxisA_0:Wp,_emscripten_bind_b2Body_GetNext_0:at,_emscripten_bind_b2RopeJoint_GetBodyA_0:Un,_emscripten_enum_b2JointType_e_unknownJoint:wv,_emscripten_bind_b2ContactFeature_set_indexA_1:_e,_emscripten_bind_b2Profile_get_solveInit_0:ge,_emscripten_bind_b2BodyDef_set_angularDamping_1:Ge,_emscripten_bind_b2FrictionJoint_GetAnchorB_0:pt,_emscripten_bind_b2World_QueryAABB_2:Kh,_emscripten_bind_b2BodyDef_get_userData_0:Re,_emscripten_bind_b2ContactID_get_key_0:Wi,_emscripten_bind_b2Body_SetAngularVelocity_1:ps,_emscripten_bind_b2WheelJointDef_get_userData_0:Jj,_emscripten_bind_b2RevoluteJoint_IsLimitEnabled_0:Wt,_emscripten_bind_b2DistanceJoint_GetBodyB_0:Vb,_emscripten_bind_b2RevoluteJointDef_set_maxMotorTorque_1:Ap,_emscripten_bind_b2WeldJointDef_set_bodyB_1:xk,_emscripten_bind_b2RevoluteJoint_SetUserData_1:pu,_emscripten_bind_b2DistanceJoint_SetLength_1:Nb,_emscripten_bind_b2JointEdge_get_joint_0:Ol,_emscripten_bind_b2Body_GetLocalCenter_0:ms,_emscripten_bind_b2FixtureDef___destroy___0:ng,_emscripten_bind_b2FixtureDef_set_shape_1:ag,_emscripten_bind_b2WeldJoint_GetAnchorA_0:Bl,_emscripten_bind_b2Profile_get_solveVelocity_0:ie,_emscripten_bind_b2WeldJointDef_get_bodyB_0:wk,_emscripten_bind_b2Body_SetAngularDamping_1:Ks,_emscripten_bind_b2PulleyJointDef_Initialize_7:Wl,_emscripten_bind_b2GearJointDef_set_bodyB_1:Nt,_emscripten_bind_b2RopeJoint_GetReactionTorque_1:Zn,_emscripten_bind_b2Mat22_set_ex_1:lj,_emscripten_bind_b2GearJoint_GetType_0:dl,_emscripten_enum_b2DrawFlag_e_centerOfMassBit:Wv,_emscripten_bind_b2ChainShape_b2ChainShape_0:$m,_emscripten_bind_b2RevoluteJoint_SetMaxMotorTorque_1:du,_emscripten_bind_b2RopeJointDef_set_localAnchorB_1:Iu,_emscripten_bind_b2FrictionJointDef_Initialize_3:pg,_emscripten_bind_b2GearJointDef_set_userData_1:Jt,_emscripten_bind_b2ChainShape_CreateLoop_2:bn,_emscripten_bind_b2EdgeShape_get_m_radius_0:bp,_emscripten_bind_b2Contact_GetFixtureB_0:or,_emscripten_bind_b2ChainShape_ComputeMass_2:mn,_emscripten_bind_b2Vec2_set_y_1:wf,_emscripten_bind_b2PrismaticJoint_IsLimitEnabled_0:qi,_emscripten_bind_b2RopeJointDef_get_bodyB_0:Ru,_emscripten_bind_b2BodyDef_b2BodyDef_0:se,_emscripten_bind_b2MassData_get_mass_0:Hk,_emscripten_bind_b2WheelJoint___destroy___0:uq,_emscripten_bind_b2Joint_GetBodyB_0:Qk,_emscripten_bind_b2MouseJointDef_set_collideConnected_1:fr,_emscripten_bind_b2WheelJointDef_set_localAxisA_1:wj,_emscripten_bind_b2Joint_Dump_0:_k,_emscripten_bind_b2WheelJointDef_b2WheelJointDef_0:pj,_emscripten_bind_b2RevoluteJointDef_set_motorSpeed_1:yp,_emscripten_bind_b2MotorJointDef_get_bodyA_0:kv,_emscripten_bind_b2WheelJointDef_get_enableMotor_0:xj,_emscripten_bind_b2Vec2_LengthSquared_0:pf,_emscripten_bind_b2FrictionJointDef_set_bodyA_1:Dg,_emscripten_bind_b2WheelJoint_GetSpringFrequencyHz_0:fq,_emscripten_bind_b2ContactFeature_get_indexB_0:$e,_emscripten_bind_b2Body_GetJointList_0:_s,_emscripten_bind_b2FrictionJoint_GetBodyA_0:mt,_emscripten_bind_b2WheelJointDef_set_localAnchorB_1:uj,_emscripten_bind_b2DistanceJointDef_set_localAnchorA_1:Mr,_emscripten_bind_b2PrismaticJointDef_get_maxMotorForce_0:jh,_emscripten_bind_b2Body_SetUserData_1:ct,_emscripten_bind_b2DistanceJoint_GetUserData_0:$b,_emscripten_bind_b2PulleyJointDef_set_bodyA_1:om,_emscripten_bind_b2Joint_GetType_0:Ok,_emscripten_bind_b2Manifold_get_pointCount_0:Qg,_emscripten_bind_b2Mat33_get_ez_0:pc,_emscripten_bind_b2DestructionListenerWrapper___destroy___0:Zi,_emscripten_bind_b2WheelJointDef_get_bodyA_0:Lj,_emscripten_enum_b2LimitState_e_atUpperLimit:Kv,_emscripten_bind_b2PulleyJointDef_set_groundAnchorA_1:Yl,_emscripten_bind_b2MouseJointDef_get_type_0:Yq,_emscripten_bind_b2PrismaticJoint_SetMaxMotorForce_1:zi,_emscripten_bind_b2PulleyJointDef_get_collideConnected_0:rm,_emscripten_bind_b2RopeJoint_SetMaxLength_1:Qn,_emscripten_bind_b2Joint_SetUserData_1:Xk,_emscripten_bind_b2PolygonShape_set_m_radius_1:Fo,_emscripten_bind_b2Vec2_get_x_0:tf,_emscripten_bind_JSContactListener_JSContactListener_0:_i,runPostSets:PB,stackAlloc:wb,stackSave:xb,stackRestore:yb,setThrew:zb,setTempRet0:Cb,getTempRet0:Db,dynCall_iiii:TB,dynCall_viiiii:mC,dynCall_did:HC,dynCall_vi:aD,dynCall_diiiid:vD,dynCall_vii:QD,dynCall_viidii:jE,dynCall_ii:EE,dynCall_viidi:ZE,dynCall_viii:sF,dynCall_v:NF,dynCall_viid:gG,dynCall_viiiiii:BG,dynCall_iii:WG,dynCall_iiiiii:pH,dynCall_viiii:KH}})
(e.X,e.Y,pb),pc=e._emscripten_bind_b2WheelJoint_GetSpringDampingRatio_0=i._emscripten_bind_b2WheelJoint_GetSpringDampingRatio_0,qc=e._emscripten_bind_b2ContactEdge_set_next_1=i._emscripten_bind_b2ContactEdge_set_next_1,rc=e._emscripten_bind_b2ChainShape_get_m_count_0=i._emscripten_bind_b2ChainShape_get_m_count_0,sc=e._emscripten_bind_b2Fixture_SetFriction_1=i._emscripten_bind_b2Fixture_SetFriction_1,tc=e._emscripten_bind_b2Shape_ComputeAABB_3=i._emscripten_bind_b2Shape_ComputeAABB_3,
uc=e._emscripten_bind_b2FrictionJointDef_set_userData_1=i._emscripten_bind_b2FrictionJointDef_set_userData_1,vc=e._emscripten_bind_b2Vec3_get_z_0=i._emscripten_bind_b2Vec3_get_z_0,wc=e._emscripten_bind_b2World_IsLocked_0=i._emscripten_bind_b2World_IsLocked_0,xc=e._emscripten_bind_b2Draw_GetFlags_0=i._emscripten_bind_b2Draw_GetFlags_0,yc=e._emscripten_bind_b2FrictionJoint_IsActive_0=i._emscripten_bind_b2FrictionJoint_IsActive_0,zc=e._emscripten_bind_b2Color_set_g_1=i._emscripten_bind_b2Color_set_g_1,
Ac=e._emscripten_bind_b2WheelJointDef_get_frequencyHz_0=i._emscripten_bind_b2WheelJointDef_get_frequencyHz_0,Bc=e._emscripten_bind_b2RopeJointDef_set_localAnchorA_1=i._emscripten_bind_b2RopeJointDef_set_localAnchorA_1,Cc=e._emscripten_bind_b2PolygonShape_RayCast_4=i._emscripten_bind_b2PolygonShape_RayCast_4,Dc=e._emscripten_bind_b2World_GetTreeBalance_0=i._emscripten_bind_b2World_GetTreeBalance_0,Ec=e._emscripten_bind_b2PrismaticJointDef_get_upperTranslation_0=i._emscripten_bind_b2PrismaticJointDef_get_upperTranslation_0,
Fc=e._emscripten_bind_JSDraw_DrawSolidCircle_4=i._emscripten_bind_JSDraw_DrawSolidCircle_4,Gc=e._emscripten_bind_b2RevoluteJoint_GetLocalAnchorA_0=i._emscripten_bind_b2RevoluteJoint_GetLocalAnchorA_0,Hc=e._emscripten_bind_b2FixtureDef_get_filter_0=i._emscripten_bind_b2FixtureDef_get_filter_0,Ic=e._emscripten_bind_b2FrictionJointDef_get_type_0=i._emscripten_bind_b2FrictionJointDef_get_type_0,Jc=e._emscripten_bind_b2RevoluteJoint_GetMotorTorque_1=i._emscripten_bind_b2RevoluteJoint_GetMotorTorque_1,
Kc=e._emscripten_bind_b2MotorJointDef_set_type_1=i._emscripten_bind_b2MotorJointDef_set_type_1,Lc=e._emscripten_bind_b2RayCastInput_get_p1_0=i._emscripten_bind_b2RayCastInput_get_p1_0,Mc=e._emscripten_bind_b2EdgeShape_set_m_hasVertex3_1=i._emscripten_bind_b2EdgeShape_set_m_hasVertex3_1,Nc=e._emscripten_bind_b2JointEdge_set_joint_1=i._emscripten_bind_b2JointEdge_set_joint_1,Oc=e._emscripten_enum_b2ShapeType_e_polygon=i._emscripten_enum_b2ShapeType_e_polygon,Pc=e._emscripten_bind_b2Fixture___destroy___0=
i._emscripten_bind_b2Fixture___destroy___0,Qc=e._emscripten_bind_b2PulleyJoint_SetUserData_1=i._emscripten_bind_b2PulleyJoint_SetUserData_1,Rc=e._emscripten_bind_b2World_SetWarmStarting_1=i._emscripten_bind_b2World_SetWarmStarting_1,Sc=e._emscripten_bind_JSDraw_DrawCircle_3=i._emscripten_bind_JSDraw_DrawCircle_3,Tc=e._emscripten_bind_b2WeldJoint_IsActive_0=i._emscripten_bind_b2WeldJoint_IsActive_0,Uc=e._emscripten_bind_b2DestructionListener___destroy___0=i._emscripten_bind_b2DestructionListener___destroy___0,
Vc=e._emscripten_bind_b2BodyDef_set_type_1=i._emscripten_bind_b2BodyDef_set_type_1,Wc=e._emscripten_bind_b2ChainShape_ComputeAABB_3=i._emscripten_bind_b2ChainShape_ComputeAABB_3,Xc=e._emscripten_bind_b2MouseJointDef_set_type_1=i._emscripten_bind_b2MouseJointDef_set_type_1,Yc=e._emscripten_bind_b2JointEdge_get_prev_0=i._emscripten_bind_b2JointEdge_get_prev_0,Zc=e._emscripten_bind_b2WeldJoint_GetReactionTorque_1=i._emscripten_bind_b2WeldJoint_GetReactionTorque_1,$c=e._emscripten_bind_b2MotorJointDef_get_maxForce_0=
i._emscripten_bind_b2MotorJointDef_get_maxForce_0,ad=e._emscripten_bind_b2DistanceJointDef_get_userData_0=i._emscripten_bind_b2DistanceJointDef_get_userData_0,bd=e._emscripten_bind_b2BodyDef_get_position_0=i._emscripten_bind_b2BodyDef_get_position_0,cd=e._emscripten_bind_b2RopeJointDef_get_localAnchorB_0=i._emscripten_bind_b2RopeJointDef_get_localAnchorB_0,dd=e._emscripten_bind_b2RevoluteJointDef_set_userData_1=i._emscripten_bind_b2RevoluteJointDef_set_userData_1,ed=e._emscripten_bind_b2RevoluteJointDef_get_localAnchorA_0=
i._emscripten_bind_b2RevoluteJointDef_get_localAnchorA_0,fd=e._emscripten_bind_b2World_SetContactFilter_1=i._emscripten_bind_b2World_SetContactFilter_1,gd=e._emscripten_bind_b2WheelJointDef_get_collideConnected_0=i._emscripten_bind_b2WheelJointDef_get_collideConnected_0,hd=e._emscripten_bind_b2MouseJointDef_set_userData_1=i._emscripten_bind_b2MouseJointDef_set_userData_1,id=e._emscripten_bind_JSDraw_DrawSegment_3=i._emscripten_bind_JSDraw_DrawSegment_3,jd=e._emscripten_bind_b2FixtureDef_set_restitution_1=
i._emscripten_bind_b2FixtureDef_set_restitution_1,kd=e._emscripten_bind_b2MotorJointDef_Initialize_2=i._emscripten_bind_b2MotorJointDef_Initialize_2,ld=e._emscripten_bind_b2EdgeShape_GetChildCount_0=i._emscripten_bind_b2EdgeShape_GetChildCount_0,md=e._emscripten_bind_b2Mat33_get_ey_0=i._emscripten_bind_b2Mat33_get_ey_0,nd=e._emscripten_bind_b2MouseJoint_IsActive_0=i._emscripten_bind_b2MouseJoint_IsActive_0,od=e._emscripten_bind_b2World_GetGravity_0=i._emscripten_bind_b2World_GetGravity_0,pd=e._emscripten_bind_b2World_DrawDebugData_0=
i._emscripten_bind_b2World_DrawDebugData_0,qd=e._emscripten_bind_b2Profile_get_broadphase_0=i._emscripten_bind_b2Profile_get_broadphase_0,rd=e._emscripten_bind_b2PulleyJointDef_get_bodyA_0=i._emscripten_bind_b2PulleyJointDef_get_bodyA_0,sd=e._emscripten_bind_b2PrismaticJoint_SetLimits_2=i._emscripten_bind_b2PrismaticJoint_SetLimits_2,td=e._emscripten_bind_b2PulleyJointDef_get_localAnchorA_0=i._emscripten_bind_b2PulleyJointDef_get_localAnchorA_0,ud=e._emscripten_bind_b2DistanceJoint_GetAnchorA_0=i._emscripten_bind_b2DistanceJoint_GetAnchorA_0,
vd=e._emscripten_bind_b2ManifoldPoint_set_tangentImpulse_1=i._emscripten_bind_b2ManifoldPoint_set_tangentImpulse_1,wd=e._emscripten_bind_b2PolygonShape_get_m_count_0=i._emscripten_bind_b2PolygonShape_get_m_count_0,xd=e._emscripten_bind_b2RopeJointDef_set_collideConnected_1=i._emscripten_bind_b2RopeJointDef_set_collideConnected_1,yd=e._emscripten_bind_b2CircleShape_set_m_p_1=i._emscripten_bind_b2CircleShape_set_m_p_1,zd=e._emscripten_bind_JSContactListener_EndContact_1=i._emscripten_bind_JSContactListener_EndContact_1,
Ad=e._emscripten_bind_b2MassData_set_mass_1=i._emscripten_bind_b2MassData_set_mass_1,Bd=e._emscripten_bind_b2Vec3_get_x_0=i._emscripten_bind_b2Vec3_get_x_0,Cd=e._emscripten_bind_b2ChainShape_CreateChain_2=i._emscripten_bind_b2ChainShape_CreateChain_2,Dd=e._emscripten_bind_b2Color_get_r_0=i._emscripten_bind_b2Color_get_r_0,Ed=e._emscripten_bind_b2World_DestroyBody_1=i._emscripten_bind_b2World_DestroyBody_1,Fd=e._emscripten_bind_b2Profile_get_solvePosition_0=i._emscripten_bind_b2Profile_get_solvePosition_0,
Gd=e._emscripten_bind_b2Shape_RayCast_4=i._emscripten_bind_b2Shape_RayCast_4,Hd=e._emscripten_bind_b2PulleyJoint_GetGroundAnchorA_0=i._emscripten_bind_b2PulleyJoint_GetGroundAnchorA_0,Id=e._emscripten_bind_b2Mat33___destroy___0=i._emscripten_bind_b2Mat33___destroy___0,Jd=e._emscripten_bind_b2GearJoint_GetReactionTorque_1=i._emscripten_bind_b2GearJoint_GetReactionTorque_1,Kd=e._emscripten_bind_b2WeldJointDef_set_collideConnected_1=i._emscripten_bind_b2WeldJointDef_set_collideConnected_1,Ld=e._emscripten_bind_b2Manifold_get_type_0=
i._emscripten_bind_b2Manifold_get_type_0,Md=e._emscripten_bind_b2RevoluteJoint___destroy___0=i._emscripten_bind_b2RevoluteJoint___destroy___0,Nd=e._emscripten_bind_b2PulleyJointDef_b2PulleyJointDef_0=i._emscripten_bind_b2PulleyJointDef_b2PulleyJointDef_0,Od=e._emscripten_bind_b2World_SetAutoClearForces_1=i._emscripten_bind_b2World_SetAutoClearForces_1,Pd=e._emscripten_bind_b2PrismaticJointDef_set_lowerTranslation_1=i._emscripten_bind_b2PrismaticJointDef_set_lowerTranslation_1,Qd=e._emscripten_bind_b2BodyDef_set_position_1=
i._emscripten_bind_b2BodyDef_set_position_1,Rd=e._emscripten_bind_b2Transform_get_q_0=i._emscripten_bind_b2Transform_get_q_0,Sd=e._emscripten_bind_b2FrictionJoint_GetMaxForce_0=i._emscripten_bind_b2FrictionJoint_GetMaxForce_0,Td=e._emscripten_bind_b2PolygonShape_set_m_count_1=i._emscripten_bind_b2PolygonShape_set_m_count_1,Ud=e._emscripten_bind_b2Contact_GetNext_0=i._emscripten_bind_b2Contact_GetNext_0,Vd=e._emscripten_bind_b2MotorJointDef_set_userData_1=i._emscripten_bind_b2MotorJointDef_set_userData_1,
Wd=e._emscripten_bind_b2EdgeShape_get_m_type_0=i._emscripten_bind_b2EdgeShape_get_m_type_0,Xd=e._emscripten_bind_b2GearJoint_GetJoint1_0=i._emscripten_bind_b2GearJoint_GetJoint1_0,Yd=e._emscripten_bind_b2WheelJoint_GetMaxMotorTorque_0=i._emscripten_bind_b2WheelJoint_GetMaxMotorTorque_0,Zd=e._emscripten_bind_b2MotorJoint_SetMaxTorque_1=i._emscripten_bind_b2MotorJoint_SetMaxTorque_1,$d=e._emscripten_bind_b2GearJoint_GetAnchorA_0=i._emscripten_bind_b2GearJoint_GetAnchorA_0,ae=e._emscripten_enum_b2JointType_e_mouseJoint=
i._emscripten_enum_b2JointType_e_mouseJoint,be=e._emscripten_bind_b2MouseJointDef_set_bodyA_1=i._emscripten_bind_b2MouseJointDef_set_bodyA_1,ce=e._emscripten_enum_b2JointType_e_revoluteJoint=i._emscripten_enum_b2JointType_e_revoluteJoint,de=e._emscripten_bind_b2World_SetContactListener_1=i._emscripten_bind_b2World_SetContactListener_1,ee=e._emscripten_bind_b2Body_IsAwake_0=i._emscripten_bind_b2Body_IsAwake_0,fe=e._emscripten_bind_b2JointEdge_set_other_1=i._emscripten_bind_b2JointEdge_set_other_1,
ge=e._emscripten_bind_b2RevoluteJoint_IsMotorEnabled_0=i._emscripten_bind_b2RevoluteJoint_IsMotorEnabled_0,he=e._emscripten_bind_b2MouseJointDef_set_target_1=i._emscripten_bind_b2MouseJointDef_set_target_1,ie=e._emscripten_bind_b2MotorJoint_SetCorrectionFactor_1=i._emscripten_bind_b2MotorJoint_SetCorrectionFactor_1,je=e._emscripten_bind_b2FixtureDef_get_density_0=i._emscripten_bind_b2FixtureDef_get_density_0,ke=e._emscripten_bind_b2ChainShape_set_m_vertices_1=i._emscripten_bind_b2ChainShape_set_m_vertices_1,
le=e._emscripten_bind_b2ChainShape_get_m_vertices_0=i._emscripten_bind_b2ChainShape_get_m_vertices_0,me=e._emscripten_bind_b2Rot_set_s_1=i._emscripten_bind_b2Rot_set_s_1,ne=e._emscripten_bind_b2MotorJointDef_get_collideConnected_0=i._emscripten_bind_b2MotorJointDef_get_collideConnected_0,oe=e._emscripten_bind_b2RevoluteJoint_GetUpperLimit_0=i._emscripten_bind_b2RevoluteJoint_GetUpperLimit_0,pe=e._emscripten_bind_b2WheelJointDef_set_bodyB_1=i._emscripten_bind_b2WheelJointDef_set_bodyB_1,qe=e._emscripten_bind_b2WheelJointDef_set_enableMotor_1=
i._emscripten_bind_b2WheelJointDef_set_enableMotor_1,re=e._emscripten_bind_b2FixtureDef_get_userData_0=i._emscripten_bind_b2FixtureDef_get_userData_0,se=e._emscripten_bind_b2FrictionJointDef_set_collideConnected_1=i._emscripten_bind_b2FrictionJointDef_set_collideConnected_1,te=e._emscripten_bind_b2PrismaticJointDef_get_lowerTranslation_0=i._emscripten_bind_b2PrismaticJointDef_get_lowerTranslation_0,ue=e._emscripten_bind_b2GearJoint_GetCollideConnected_0=i._emscripten_bind_b2GearJoint_GetCollideConnected_0,
ve=e._emscripten_bind_b2RevoluteJointDef_get_upperAngle_0=i._emscripten_bind_b2RevoluteJointDef_get_upperAngle_0,we=e._emscripten_bind_b2Body_ApplyAngularImpulse_2=i._emscripten_bind_b2Body_ApplyAngularImpulse_2,xe=e._emscripten_enum_b2JointType_e_frictionJoint=i._emscripten_enum_b2JointType_e_frictionJoint,ye=e._emscripten_bind_b2RayCastOutput_set_fraction_1=i._emscripten_bind_b2RayCastOutput_set_fraction_1,ze=e._emscripten_bind_b2Color_set_r_1=i._emscripten_bind_b2Color_set_r_1,Ae=e._emscripten_bind_b2DistanceJointDef_get_length_0=
i._emscripten_bind_b2DistanceJointDef_get_length_0,Be=e._emscripten_bind_b2PulleyJoint_GetBodyB_0=i._emscripten_bind_b2PulleyJoint_GetBodyB_0,Ce=e._emscripten_bind_b2WheelJointDef_set_type_1=i._emscripten_bind_b2WheelJointDef_set_type_1,De=e._emscripten_bind_b2World_GetTreeQuality_0=i._emscripten_bind_b2World_GetTreeQuality_0,Ee=e._emscripten_bind_b2BodyDef_set_gravityScale_1=i._emscripten_bind_b2BodyDef_set_gravityScale_1,Fe=e._emscripten_bind_b2RopeJointDef_set_bodyB_1=i._emscripten_bind_b2RopeJointDef_set_bodyB_1,
Ge=e._emscripten_bind_b2PrismaticJoint_GetLowerLimit_0=i._emscripten_bind_b2PrismaticJoint_GetLowerLimit_0,He=e._emscripten_bind_b2AABB_get_lowerBound_0=i._emscripten_bind_b2AABB_get_lowerBound_0,Ie=e._emscripten_bind_b2WheelJoint_SetMotorSpeed_1=i._emscripten_bind_b2WheelJoint_SetMotorSpeed_1,Je=e._emscripten_bind_b2PrismaticJointDef_get_referenceAngle_0=i._emscripten_bind_b2PrismaticJointDef_get_referenceAngle_0,Ke=e._emscripten_bind_b2Body_SetMassData_1=i._emscripten_bind_b2Body_SetMassData_1,
Le=e._emscripten_bind_b2BodyDef_get_angularVelocity_0=i._emscripten_bind_b2BodyDef_get_angularVelocity_0,Me=e._emscripten_bind_b2WeldJoint_SetDampingRatio_1=i._emscripten_bind_b2WeldJoint_SetDampingRatio_1,Ne=e._emscripten_bind_b2PrismaticJointDef___destroy___0=i._emscripten_bind_b2PrismaticJointDef___destroy___0,Oe=e._emscripten_bind_b2Contact_IsTouching_0=i._emscripten_bind_b2Contact_IsTouching_0,Pe=e._emscripten_bind_b2Draw_SetFlags_1=i._emscripten_bind_b2Draw_SetFlags_1,Qe=e._emscripten_bind_b2AABB_Contains_1=
i._emscripten_bind_b2AABB_Contains_1,Re=e._emscripten_bind_b2DistanceJoint_GetNext_0=i._emscripten_bind_b2DistanceJoint_GetNext_0,Se=e._emscripten_bind_b2GearJoint_GetReactionForce_1=i._emscripten_bind_b2GearJoint_GetReactionForce_1,Te=e._emscripten_bind_b2PrismaticJoint_GetNext_0=i._emscripten_bind_b2PrismaticJoint_GetNext_0,Ue=e._emscripten_bind_b2Filter_get_groupIndex_0=i._emscripten_bind_b2Filter_get_groupIndex_0,Ve=e._emscripten_bind_b2PrismaticJoint_GetType_0=i._emscripten_bind_b2PrismaticJoint_GetType_0,
We=e._emscripten_bind_b2Fixture_GetRestitution_0=i._emscripten_bind_b2Fixture_GetRestitution_0,Xe=e._emscripten_bind_b2Transform_set_q_1=i._emscripten_bind_b2Transform_set_q_1,Ye=e._emscripten_bind_b2PolygonShape___destroy___0=i._emscripten_bind_b2PolygonShape___destroy___0,Ze=e._emscripten_bind_b2AABB_get_upperBound_0=i._emscripten_bind_b2AABB_get_upperBound_0,$e=e._emscripten_bind_b2Transform___destroy___0=i._emscripten_bind_b2Transform___destroy___0,af=e._emscripten_bind_b2WeldJointDef_set_localAnchorB_1=
i._emscripten_bind_b2WeldJointDef_set_localAnchorB_1,bf=e._emscripten_bind_b2CircleShape_set_m_radius_1=i._emscripten_bind_b2CircleShape_set_m_radius_1,cf=e._emscripten_bind_b2EdgeShape_set_m_hasVertex0_1=i._emscripten_bind_b2EdgeShape_set_m_hasVertex0_1,df=e._emscripten_bind_b2RopeJoint_GetMaxLength_0=i._emscripten_bind_b2RopeJoint_GetMaxLength_0,ef=e._emscripten_bind_b2GearJoint_GetUserData_0=i._emscripten_bind_b2GearJoint_GetUserData_0,ff=e._emscripten_bind_b2MotorJoint_GetCollideConnected_0=i._emscripten_bind_b2MotorJoint_GetCollideConnected_0,
gf=e._emscripten_bind_b2GearJointDef_set_type_1=i._emscripten_bind_b2GearJointDef_set_type_1,hf=e._emscripten_bind_b2DistanceJoint_SetDampingRatio_1=i._emscripten_bind_b2DistanceJoint_SetDampingRatio_1,jf=e._emscripten_bind_b2Contact_GetFixtureA_0=i._emscripten_bind_b2Contact_GetFixtureA_0,kf=e._emscripten_bind_b2QueryCallback___destroy___0=i._emscripten_bind_b2QueryCallback___destroy___0,lf=e._emscripten_bind_b2PulleyJointDef_get_ratio_0=i._emscripten_bind_b2PulleyJointDef_get_ratio_0,mf=e._emscripten_bind_b2PrismaticJointDef_get_localAnchorB_0=
i._emscripten_bind_b2PrismaticJointDef_get_localAnchorB_0,nf=e._emscripten_bind_b2CircleShape_set_m_type_1=i._emscripten_bind_b2CircleShape_set_m_type_1,of=e._emscripten_enum_b2ShapeType_e_typeCount=i._emscripten_enum_b2ShapeType_e_typeCount,pf=e._emscripten_bind_b2Body_SetTransform_2=i._emscripten_bind_b2Body_SetTransform_2,qf=e._emscripten_bind_b2RopeJoint_GetAnchorB_0=i._emscripten_bind_b2RopeJoint_GetAnchorB_0,rf=e._emscripten_bind_b2AABB_set_upperBound_1=i._emscripten_bind_b2AABB_set_upperBound_1,
sf=e._emscripten_bind_b2MouseJointDef_get_collideConnected_0=i._emscripten_bind_b2MouseJointDef_get_collideConnected_0,tf=e._emscripten_bind_b2ContactImpulse___destroy___0=i._emscripten_bind_b2ContactImpulse___destroy___0,uf=e._emscripten_bind_b2PrismaticJointDef_b2PrismaticJointDef_0=i._emscripten_bind_b2PrismaticJointDef_b2PrismaticJointDef_0,vf=e._emscripten_bind_b2Vec2_set_x_1=i._emscripten_bind_b2Vec2_set_x_1,wf=e._emscripten_bind_b2RayCastInput___destroy___0=i._emscripten_bind_b2RayCastInput___destroy___0,
xf=e._emscripten_bind_b2Body_ApplyForceToCenter_2=i._emscripten_bind_b2Body_ApplyForceToCenter_2,yf=e._emscripten_bind_JSDestructionListener_JSDestructionListener_0=i._emscripten_bind_JSDestructionListener_JSDestructionListener_0,zf=e._emscripten_bind_b2WheelJointDef_set_localAnchorA_1=i._emscripten_bind_b2WheelJointDef_set_localAnchorA_1,Af=e._emscripten_bind_b2FrictionJoint_GetBodyB_0=i._emscripten_bind_b2FrictionJoint_GetBodyB_0,Bf=e._emscripten_bind_b2DistanceJointDef_get_bodyA_0=i._emscripten_bind_b2DistanceJointDef_get_bodyA_0,
Cf=e._emscripten_bind_b2WeldJointDef_set_bodyA_1=i._emscripten_bind_b2WeldJointDef_set_bodyA_1,Df=e._emscripten_bind_b2World_SetDestructionListener_1=i._emscripten_bind_b2World_SetDestructionListener_1,Ef=e._emscripten_bind_b2RevoluteJoint_GetJointSpeed_0=i._emscripten_bind_b2RevoluteJoint_GetJointSpeed_0,Ff=e._emscripten_bind_b2WheelJoint_GetLocalAnchorB_0=i._emscripten_bind_b2WheelJoint_GetLocalAnchorB_0,Gf=e._emscripten_bind_b2JointDef___destroy___0=i._emscripten_bind_b2JointDef___destroy___0,
Hf=e._emscripten_bind_b2PrismaticJointDef_Initialize_4=i._emscripten_bind_b2PrismaticJointDef_Initialize_4,If=e._emscripten_bind_b2FrictionJointDef_get_localAnchorA_0=i._emscripten_bind_b2FrictionJointDef_get_localAnchorA_0,Jf=e._emscripten_bind_b2CircleShape_GetChildCount_0=i._emscripten_bind_b2CircleShape_GetChildCount_0,Kf=e._emscripten_bind_b2BodyDef_get_bullet_0=i._emscripten_bind_b2BodyDef_get_bullet_0,Lf=e._emscripten_bind_b2ManifoldPoint_get_localPoint_0=i._emscripten_bind_b2ManifoldPoint_get_localPoint_0,
Mf=e._emscripten_bind_b2PrismaticJointDef_get_type_0=i._emscripten_bind_b2PrismaticJointDef_get_type_0,Nf=e._emscripten_bind_b2MassData_get_center_0=i._emscripten_bind_b2MassData_get_center_0,Of=e._emscripten_bind_b2World_b2World_1=i._emscripten_bind_b2World_b2World_1,Pf=e._emscripten_bind_b2WheelJoint_GetReactionForce_1=i._emscripten_bind_b2WheelJoint_GetReactionForce_1,Qf=e._emscripten_bind_b2World_SetSubStepping_1=i._emscripten_bind_b2World_SetSubStepping_1,Rf=e._emscripten_bind_b2Vec2_op_add_1=
i._emscripten_bind_b2Vec2_op_add_1,Sf=e._emscripten_bind_b2Joint_GetBodyA_0=i._emscripten_bind_b2Joint_GetBodyA_0,Tf=e._emscripten_bind_b2Joint_GetCollideConnected_0=i._emscripten_bind_b2Joint_GetCollideConnected_0,Uf=e._emscripten_bind_b2MotorJoint_GetReactionTorque_1=i._emscripten_bind_b2MotorJoint_GetReactionTorque_1,Vf=e._emscripten_bind_b2WheelJoint_IsMotorEnabled_0=i._emscripten_bind_b2WheelJoint_IsMotorEnabled_0,Wf=e._emscripten_bind_b2WheelJointDef___destroy___0=i._emscripten_bind_b2WheelJointDef___destroy___0,
Xf=e._emscripten_bind_b2Vec3_SetZero_0=i._emscripten_bind_b2Vec3_SetZero_0,Yf=e._emscripten_enum_b2JointType_e_pulleyJoint=i._emscripten_enum_b2JointType_e_pulleyJoint,Zf=e._emscripten_bind_b2ChainShape_get_m_nextVertex_0=i._emscripten_bind_b2ChainShape_get_m_nextVertex_0,$f=e._emscripten_bind_b2Contact_SetEnabled_1=i._emscripten_bind_b2Contact_SetEnabled_1,ag=e._emscripten_bind_b2Shape_set_m_radius_1=i._emscripten_bind_b2Shape_set_m_radius_1,bg=e._emscripten_bind_b2GearJointDef_get_joint2_0=i._emscripten_bind_b2GearJointDef_get_joint2_0,
cg=e._emscripten_bind_b2World_SetDebugDraw_1=i._emscripten_bind_b2World_SetDebugDraw_1,dg=e._emscripten_bind_b2ContactID_set_key_1=i._emscripten_bind_b2ContactID_set_key_1,eg=e._emscripten_bind_b2RevoluteJointDef_set_collideConnected_1=i._emscripten_bind_b2RevoluteJointDef_set_collideConnected_1,ab=e._malloc=i._malloc,fg=e._emscripten_bind_b2World_GetProxyCount_0=i._emscripten_bind_b2World_GetProxyCount_0,gg=e._emscripten_bind_b2Vec2_Normalize_0=i._emscripten_bind_b2Vec2_Normalize_0,hg=e._emscripten_bind_b2WheelJoint_GetJointSpeed_0=
i._emscripten_bind_b2WheelJoint_GetJointSpeed_0,ig=e._emscripten_bind_b2FrictionJointDef_set_localAnchorA_1=i._emscripten_bind_b2FrictionJointDef_set_localAnchorA_1,jg=e._emscripten_bind_b2GearJoint_GetRatio_0=i._emscripten_bind_b2GearJoint_GetRatio_0,kg=e._emscripten_bind_JSRayCastCallback_JSRayCastCallback_0=i._emscripten_bind_JSRayCastCallback_JSRayCastCallback_0,lg=e._emscripten_bind_b2RayCastInput_set_p2_1=i._emscripten_bind_b2RayCastInput_set_p2_1,mg=e._emscripten_bind_b2RevoluteJointDef_get_motorSpeed_0=
i._emscripten_bind_b2RevoluteJointDef_get_motorSpeed_0,ng=e._emscripten_bind_b2RayCastOutput_get_normal_0=i._emscripten_bind_b2RayCastOutput_get_normal_0,og=e._emscripten_bind_b2WeldJoint_GetBodyA_0=i._emscripten_bind_b2WeldJoint_GetBodyA_0,pg=e._emscripten_bind_b2MotorJointDef_set_maxForce_1=i._emscripten_bind_b2MotorJointDef_set_maxForce_1,qg=e._emscripten_enum_b2DrawFlag_e_jointBit=i._emscripten_enum_b2DrawFlag_e_jointBit,rg=e._emscripten_bind_b2FixtureDef_get_isSensor_0=i._emscripten_bind_b2FixtureDef_get_isSensor_0,
sg=e._emscripten_bind_b2PulleyJointDef_set_bodyB_1=i._emscripten_bind_b2PulleyJointDef_set_bodyB_1,tg=e._emscripten_bind_b2WheelJoint_EnableMotor_1=i._emscripten_bind_b2WheelJoint_EnableMotor_1,ug=e._emscripten_bind_b2WheelJoint_GetLocalAnchorA_0=i._emscripten_bind_b2WheelJoint_GetLocalAnchorA_0,vg=e._emscripten_bind_JSDraw_DrawSolidPolygon_3=i._emscripten_bind_JSDraw_DrawSolidPolygon_3,wg=e._emscripten_bind_b2Rot_Set_1=i._emscripten_bind_b2Rot_Set_1,xg=e._emscripten_bind_b2ContactFeature_set_typeB_1=
i._emscripten_bind_b2ContactFeature_set_typeB_1,yg=e._emscripten_bind_JSDraw___destroy___0=i._emscripten_bind_JSDraw___destroy___0,zg=e._emscripten_bind_b2MouseJointDef___destroy___0=i._emscripten_bind_b2MouseJointDef___destroy___0,Ag=e._emscripten_bind_b2Mat33_Solve22_1=i._emscripten_bind_b2Mat33_Solve22_1,Bg=e._emscripten_bind_b2Profile_set_solvePosition_1=i._emscripten_bind_b2Profile_set_solvePosition_1,Cg=e._emscripten_bind_b2ContactFilter___destroy___0=i._emscripten_bind_b2ContactFilter___destroy___0,
Dg=e._emscripten_bind_b2PulleyJointDef_get_localAnchorB_0=i._emscripten_bind_b2PulleyJointDef_get_localAnchorB_0,Eg=e._emscripten_bind_b2ChainShape_set_m_hasPrevVertex_1=i._emscripten_bind_b2ChainShape_set_m_hasPrevVertex_1,Fg=e._emscripten_bind_b2PrismaticJoint___destroy___0=i._emscripten_bind_b2PrismaticJoint___destroy___0,Gg=e._emscripten_bind_b2World_CreateJoint_1=i._emscripten_bind_b2World_CreateJoint_1,Hg=e._emscripten_bind_b2Profile_get_solveTOI_0=i._emscripten_bind_b2Profile_get_solveTOI_0,
Ig=e._emscripten_bind_b2ManifoldPoint_get_id_0=i._emscripten_bind_b2ManifoldPoint_get_id_0,Jg=e._emscripten_bind_b2Manifold_set_pointCount_1=i._emscripten_bind_b2Manifold_set_pointCount_1,Kg=e._emscripten_bind_b2PrismaticJoint_GetMotorSpeed_0=i._emscripten_bind_b2PrismaticJoint_GetMotorSpeed_0,Lg=e._emscripten_bind_b2Body_SetSleepingAllowed_1=i._emscripten_bind_b2Body_SetSleepingAllowed_1,Mg=e._emscripten_bind_b2Rot_SetIdentity_0=i._emscripten_bind_b2Rot_SetIdentity_0,Ng=e._emscripten_bind_b2PulleyJoint_GetGroundAnchorB_0=
i._emscripten_bind_b2PulleyJoint_GetGroundAnchorB_0,Og=e._emscripten_bind_b2Vec3_op_add_1=i._emscripten_bind_b2Vec3_op_add_1,Pg=e._emscripten_bind_b2FrictionJoint_GetType_0=i._emscripten_bind_b2FrictionJoint_GetType_0,Qg=e._emscripten_bind_b2DistanceJointDef_set_dampingRatio_1=i._emscripten_bind_b2DistanceJointDef_set_dampingRatio_1,Rg=e._emscripten_bind_b2MotorJoint_GetBodyA_0=i._emscripten_bind_b2MotorJoint_GetBodyA_0,Sg=e._emscripten_bind_b2MouseJointDef_get_dampingRatio_0=i._emscripten_bind_b2MouseJointDef_get_dampingRatio_0,
Tg=e._emscripten_bind_b2RevoluteJoint_GetMotorSpeed_0=i._emscripten_bind_b2RevoluteJoint_GetMotorSpeed_0,Ug=e._emscripten_bind_b2ChainShape_set_m_type_1=i._emscripten_bind_b2ChainShape_set_m_type_1,Vg=e._emscripten_bind_b2RevoluteJointDef_set_bodyB_1=i._emscripten_bind_b2RevoluteJointDef_set_bodyB_1,Wg=e._emscripten_bind_b2Body_GetGravityScale_0=i._emscripten_bind_b2Body_GetGravityScale_0,Xg=e._emscripten_bind_b2GearJointDef_get_bodyB_0=i._emscripten_bind_b2GearJointDef_get_bodyB_0,Yg=e._emscripten_bind_b2Mat33_b2Mat33_0=
i._emscripten_bind_b2Mat33_b2Mat33_0,Zg=e._emscripten_bind_b2MouseJointDef_get_bodyB_0=i._emscripten_bind_b2MouseJointDef_get_bodyB_0,$g=e._emscripten_bind_b2Shape_TestPoint_2=i._emscripten_bind_b2Shape_TestPoint_2,ah=e._emscripten_bind_b2Body_GetWorldVector_1=i._emscripten_bind_b2Body_GetWorldVector_1,bh=e._emscripten_bind_b2WeldJointDef_get_frequencyHz_0=i._emscripten_bind_b2WeldJointDef_get_frequencyHz_0,ch=e._emscripten_bind_b2PolygonShape_Set_2=i._emscripten_bind_b2PolygonShape_Set_2,dh=e._emscripten_bind_b2Manifold___destroy___0=
i._emscripten_bind_b2Manifold___destroy___0,eh=e._emscripten_bind_b2PulleyJointDef_set_lengthA_1=i._emscripten_bind_b2PulleyJointDef_set_lengthA_1,fh=e._emscripten_bind_b2RevoluteJointDef_set_localAnchorA_1=i._emscripten_bind_b2RevoluteJointDef_set_localAnchorA_1,gh=e._emscripten_bind_b2GearJoint___destroy___0=i._emscripten_bind_b2GearJoint___destroy___0,hh=e._emscripten_bind_b2RevoluteJoint_GetJointAngle_0=i._emscripten_bind_b2RevoluteJoint_GetJointAngle_0,ih=e._emscripten_bind_b2PulleyJointDef_set_ratio_1=
i._emscripten_bind_b2PulleyJointDef_set_ratio_1,jh=e._emscripten_bind_b2JointEdge_set_prev_1=i._emscripten_bind_b2JointEdge_set_prev_1,kh=e._emscripten_bind_b2PrismaticJoint_GetReactionTorque_1=i._emscripten_bind_b2PrismaticJoint_GetReactionTorque_1,lh=e._emscripten_bind_b2Body_GetLocalPoint_1=i._emscripten_bind_b2Body_GetLocalPoint_1,mh=e._emscripten_bind_b2PrismaticJoint_GetCollideConnected_0=i._emscripten_bind_b2PrismaticJoint_GetCollideConnected_0,nh=e._emscripten_bind_b2RopeJointDef_get_userData_0=
i._emscripten_bind_b2RopeJointDef_get_userData_0,oh=e._emscripten_bind_b2DistanceJoint_IsActive_0=i._emscripten_bind_b2DistanceJoint_IsActive_0,ph=e._emscripten_bind_b2MotorJointDef_set_angularOffset_1=i._emscripten_bind_b2MotorJointDef_set_angularOffset_1,qh=e._emscripten_bind_b2Vec2_b2Vec2_2=i._emscripten_bind_b2Vec2_b2Vec2_2,rh=e._emscripten_bind_b2PrismaticJoint_GetJointTranslation_0=i._emscripten_bind_b2PrismaticJoint_GetJointTranslation_0,sh=e._emscripten_bind_b2Vec2_b2Vec2_0=i._emscripten_bind_b2Vec2_b2Vec2_0,
th=e._emscripten_bind_b2DistanceJoint_GetAnchorB_0=i._emscripten_bind_b2DistanceJoint_GetAnchorB_0,uh=e._emscripten_bind_b2WheelJointDef_get_maxMotorTorque_0=i._emscripten_bind_b2WheelJointDef_get_maxMotorTorque_0,vh=e._emscripten_bind_b2Vec2_op_sub_1=i._emscripten_bind_b2Vec2_op_sub_1,wh=e._emscripten_bind_b2CircleShape_get_m_p_0=i._emscripten_bind_b2CircleShape_get_m_p_0,xh=e._emscripten_bind_b2ContactFeature_get_indexA_0=i._emscripten_bind_b2ContactFeature_get_indexA_0,yh=e._emscripten_bind_b2MotorJointDef_b2MotorJointDef_0=
i._emscripten_bind_b2MotorJointDef_b2MotorJointDef_0,zh=e._emscripten_bind_b2ChainShape_set_m_nextVertex_1=i._emscripten_bind_b2ChainShape_set_m_nextVertex_1,Ah=e._emscripten_bind_b2PulleyJoint_GetCollideConnected_0=i._emscripten_bind_b2PulleyJoint_GetCollideConnected_0,Bh=e._emscripten_bind_b2PulleyJoint_GetAnchorB_0=i._emscripten_bind_b2PulleyJoint_GetAnchorB_0,Ch=e._emscripten_bind_b2Mat33_get_ex_0=i._emscripten_bind_b2Mat33_get_ex_0,Dh=e._emscripten_bind_b2Body_GetPosition_0=i._emscripten_bind_b2Body_GetPosition_0,
Eh=e._emscripten_bind_b2Profile___destroy___0=i._emscripten_bind_b2Profile___destroy___0,Fh=e._emscripten_bind_b2ContactEdge_get_prev_0=i._emscripten_bind_b2ContactEdge_get_prev_0,Gh=e._emscripten_bind_b2DistanceJoint_SetFrequency_1=i._emscripten_bind_b2DistanceJoint_SetFrequency_1,Hh=e._emscripten_enum_b2ShapeType_e_chain=i._emscripten_enum_b2ShapeType_e_chain,Ih=e._emscripten_enum_b2ContactFeatureType_e_vertex=i._emscripten_enum_b2ContactFeatureType_e_vertex,Jh=e._emscripten_bind_b2Fixture_GetBody_0=
i._emscripten_bind_b2Fixture_GetBody_0,Kh=e._emscripten_bind_b2ContactImpulse_set_count_1=i._emscripten_bind_b2ContactImpulse_set_count_1,Lh=e._emscripten_bind_b2PulleyJointDef_get_bodyB_0=i._emscripten_bind_b2PulleyJointDef_get_bodyB_0,Mh=e._emscripten_bind_b2Rot_set_c_1=i._emscripten_bind_b2Rot_set_c_1,Nh=e._emscripten_bind_b2RevoluteJoint_GetReactionTorque_1=i._emscripten_bind_b2RevoluteJoint_GetReactionTorque_1,Oh=e._emscripten_bind_b2Fixture_SetDensity_1=i._emscripten_bind_b2Fixture_SetDensity_1,
Ph=e._emscripten_bind_b2ChainShape_get_m_prevVertex_0=i._emscripten_bind_b2ChainShape_get_m_prevVertex_0,Qh=e._emscripten_bind_b2World_ClearForces_0=i._emscripten_bind_b2World_ClearForces_0,Rh=e._emscripten_bind_b2Vec3___destroy___0=i._emscripten_bind_b2Vec3___destroy___0,Sh=e._emscripten_bind_b2WheelJointDef_set_userData_1=i._emscripten_bind_b2WheelJointDef_set_userData_1,Th=e._emscripten_bind_b2WeldJoint_SetFrequency_1=i._emscripten_bind_b2WeldJoint_SetFrequency_1,Uh=e._emscripten_bind_b2WheelJoint_SetSpringFrequencyHz_1=
i._emscripten_bind_b2WheelJoint_SetSpringFrequencyHz_1,Vh=e._emscripten_bind_b2Body_SetFixedRotation_1=i._emscripten_bind_b2Body_SetFixedRotation_1,Wh=e._emscripten_bind_b2RayCastOutput_set_normal_1=i._emscripten_bind_b2RayCastOutput_set_normal_1,Xh=e._emscripten_bind_b2DistanceJoint_GetDampingRatio_0=i._emscripten_bind_b2DistanceJoint_GetDampingRatio_0,Yh=e._emscripten_bind_b2WeldJointDef_set_userData_1=i._emscripten_bind_b2WeldJointDef_set_userData_1,Zh=e._emscripten_bind_b2Body_GetMassData_1=i._emscripten_bind_b2Body_GetMassData_1,
$h=e._emscripten_bind_b2MouseJointDef_set_bodyB_1=i._emscripten_bind_b2MouseJointDef_set_bodyB_1,ai=e._emscripten_bind_b2CircleShape_GetType_0=i._emscripten_bind_b2CircleShape_GetType_0,bi=e._emscripten_bind_b2PolygonShape_GetType_0=i._emscripten_bind_b2PolygonShape_GetType_0,ci=e._emscripten_bind_b2PrismaticJointDef_set_referenceAngle_1=i._emscripten_bind_b2PrismaticJointDef_set_referenceAngle_1,di=e._emscripten_bind_b2RopeJointDef_get_collideConnected_0=i._emscripten_bind_b2RopeJointDef_get_collideConnected_0,
ei=e._emscripten_bind_b2FixtureDef_set_filter_1=i._emscripten_bind_b2FixtureDef_set_filter_1,fi=e._emscripten_bind_b2PulleyJointDef_get_groundAnchorA_0=i._emscripten_bind_b2PulleyJointDef_get_groundAnchorA_0,gi=e._emscripten_bind_b2Fixture_SetFilterData_1=i._emscripten_bind_b2Fixture_SetFilterData_1,hi=e._emscripten_bind_b2FrictionJointDef_get_userData_0=i._emscripten_bind_b2FrictionJointDef_get_userData_0,ii=e._emscripten_bind_b2RayCastCallback___destroy___0=i._emscripten_bind_b2RayCastCallback___destroy___0,
ji=e._emscripten_bind_b2PulleyJointDef_set_localAnchorA_1=i._emscripten_bind_b2PulleyJointDef_set_localAnchorA_1,ki=e._emscripten_bind_b2MotorJoint_SetUserData_1=i._emscripten_bind_b2MotorJoint_SetUserData_1,li=e._emscripten_bind_b2PrismaticJoint_GetLocalAxisA_0=i._emscripten_bind_b2PrismaticJoint_GetLocalAxisA_0,mi=e._emscripten_bind_b2MotorJoint_GetBodyB_0=i._emscripten_bind_b2MotorJoint_GetBodyB_0,ni=e._emscripten_bind_b2Transform_Set_2=i._emscripten_bind_b2Transform_Set_2,oi=e._emscripten_bind_b2MouseJoint_SetTarget_1=
i._emscripten_bind_b2MouseJoint_SetTarget_1,pi=e._emscripten_bind_b2RopeJointDef_get_localAnchorA_0=i._emscripten_bind_b2RopeJointDef_get_localAnchorA_0,qi=e._emscripten_bind_b2ContactEdge_set_contact_1=i._emscripten_bind_b2ContactEdge_set_contact_1,ri=e._emscripten_bind_b2RevoluteJointDef_get_enableLimit_0=i._emscripten_bind_b2RevoluteJointDef_get_enableLimit_0,si=e._emscripten_bind_b2CircleShape_get_m_radius_0=i._emscripten_bind_b2CircleShape_get_m_radius_0,ti=e._emscripten_bind_b2RevoluteJoint_GetUserData_0=
i._emscripten_bind_b2RevoluteJoint_GetUserData_0,ui=e._emscripten_bind_b2Profile_set_solveTOI_1=i._emscripten_bind_b2Profile_set_solveTOI_1,vi=e._emscripten_bind_b2PrismaticJointDef_set_type_1=i._emscripten_bind_b2PrismaticJointDef_set_type_1,wi=e._emscripten_bind_b2GearJointDef_get_userData_0=i._emscripten_bind_b2GearJointDef_get_userData_0,xi=e._emscripten_bind_b2RevoluteJoint_GetAnchorB_0=i._emscripten_bind_b2RevoluteJoint_GetAnchorB_0,yi=e._emscripten_bind_b2FrictionJointDef___destroy___0=i._emscripten_bind_b2FrictionJointDef___destroy___0,
zi=e._emscripten_bind_b2PrismaticJoint_GetReactionForce_1=i._emscripten_bind_b2PrismaticJoint_GetReactionForce_1,Ai=e._emscripten_bind_b2Transform_b2Transform_0=i._emscripten_bind_b2Transform_b2Transform_0,Bi=e._emscripten_bind_b2MouseJoint_GetCollideConnected_0=i._emscripten_bind_b2MouseJoint_GetCollideConnected_0,Ci=e._emscripten_enum_b2LimitState_e_equalLimits=i._emscripten_enum_b2LimitState_e_equalLimits,Di=e._emscripten_bind_b2ManifoldPoint_set_normalImpulse_1=i._emscripten_bind_b2ManifoldPoint_set_normalImpulse_1,
Ei=e._emscripten_bind_b2Body_GetContactList_0=i._emscripten_bind_b2Body_GetContactList_0,Fi=e._emscripten_bind_b2Body_IsFixedRotation_0=i._emscripten_bind_b2Body_IsFixedRotation_0,Gi=e._emscripten_enum_b2DrawFlag_e_shapeBit=i._emscripten_enum_b2DrawFlag_e_shapeBit,Hi=e._emscripten_bind_b2Contact_GetFriction_0=i._emscripten_bind_b2Contact_GetFriction_0,Ii=e._emscripten_bind_b2WheelJoint_GetAnchorB_0=i._emscripten_bind_b2WheelJoint_GetAnchorB_0,Ji=e._emscripten_bind_b2DistanceJointDef_set_length_1=
i._emscripten_bind_b2DistanceJointDef_set_length_1,Ki=e._emscripten_bind_b2DistanceJoint_GetLocalAnchorB_0=i._emscripten_bind_b2DistanceJoint_GetLocalAnchorB_0,Li=e._emscripten_bind_b2FrictionJoint_GetLocalAnchorB_0=i._emscripten_bind_b2FrictionJoint_GetLocalAnchorB_0,Mi=e._emscripten_bind_b2Mat33_set_ey_1=i._emscripten_bind_b2Mat33_set_ey_1,Ni=e._emscripten_bind_b2DistanceJointDef_get_type_0=i._emscripten_bind_b2DistanceJointDef_get_type_0,Oi=e._emscripten_bind_b2Draw_ClearFlags_1=i._emscripten_bind_b2Draw_ClearFlags_1,
Pi=e._emscripten_bind_b2Body_IsActive_0=i._emscripten_bind_b2Body_IsActive_0,Qi=e._emscripten_bind_b2Contact_ResetRestitution_0=i._emscripten_bind_b2Contact_ResetRestitution_0,Ri=e._emscripten_bind_b2World_GetAllowSleeping_0=i._emscripten_bind_b2World_GetAllowSleeping_0,Si=e._emscripten_bind_b2ManifoldPoint_b2ManifoldPoint_0=i._emscripten_bind_b2ManifoldPoint_b2ManifoldPoint_0,Ti=e._emscripten_bind_b2PrismaticJointDef_set_maxMotorForce_1=i._emscripten_bind_b2PrismaticJointDef_set_maxMotorForce_1,
Ui=e._emscripten_bind_b2GearJointDef_set_bodyA_1=i._emscripten_bind_b2GearJointDef_set_bodyA_1,Vi=e._emscripten_bind_b2RevoluteJointDef_set_enableMotor_1=i._emscripten_bind_b2RevoluteJointDef_set_enableMotor_1,Wi=e._emscripten_bind_b2PulleyJoint_IsActive_0=i._emscripten_bind_b2PulleyJoint_IsActive_0,Xi=e._emscripten_bind_b2MouseJoint_GetNext_0=i._emscripten_bind_b2MouseJoint_GetNext_0,Yi=e._emscripten_bind_b2Transform_set_p_1=i._emscripten_bind_b2Transform_set_p_1,Zi=e._emscripten_bind_b2EdgeShape_set_m_vertex0_1=
i._emscripten_bind_b2EdgeShape_set_m_vertex0_1,$i=e._emscripten_bind_b2PulleyJointDef_get_lengthB_0=i._emscripten_bind_b2PulleyJointDef_get_lengthB_0,aj=e._emscripten_bind_b2WeldJoint_SetUserData_1=i._emscripten_bind_b2WeldJoint_SetUserData_1,bj=e._emscripten_bind_b2Fixture_SetSensor_1=i._emscripten_bind_b2Fixture_SetSensor_1,cj=e._emscripten_bind_b2GearJointDef_get_joint1_0=i._emscripten_bind_b2GearJointDef_get_joint1_0,dj=e._emscripten_bind_b2PrismaticJoint_GetMotorForce_1=i._emscripten_bind_b2PrismaticJoint_GetMotorForce_1,
ej=e._emscripten_bind_b2DistanceJoint_GetBodyA_0=i._emscripten_bind_b2DistanceJoint_GetBodyA_0,fj=e._emscripten_bind_b2GearJoint_IsActive_0=i._emscripten_bind_b2GearJoint_IsActive_0,gj=e._emscripten_bind_b2EdgeShape_get_m_vertex0_0=i._emscripten_bind_b2EdgeShape_get_m_vertex0_0,hj=e._emscripten_bind_b2World_GetBodyCount_0=i._emscripten_bind_b2World_GetBodyCount_0,ij=e._emscripten_bind_b2Fixture_GetMassData_1=i._emscripten_bind_b2Fixture_GetMassData_1,jj=e._emscripten_bind_b2WeldJointDef_get_collideConnected_0=
i._emscripten_bind_b2WeldJointDef_get_collideConnected_0,kj=e._emscripten_bind_b2FrictionJoint_GetMaxTorque_0=i._emscripten_bind_b2FrictionJoint_GetMaxTorque_0,lj=e._emscripten_bind_b2EdgeShape_RayCast_4=i._emscripten_bind_b2EdgeShape_RayCast_4,mj=e._emscripten_bind_b2BodyDef_set_allowSleep_1=i._emscripten_bind_b2BodyDef_set_allowSleep_1,nj=e._emscripten_bind_b2PulleyJoint_GetType_0=i._emscripten_bind_b2PulleyJoint_GetType_0,oj=e._emscripten_bind_b2WeldJointDef_set_localAnchorA_1=i._emscripten_bind_b2WeldJointDef_set_localAnchorA_1,
pj=e._emscripten_bind_b2Profile_set_step_1=i._emscripten_bind_b2Profile_set_step_1,qj=e._emscripten_bind_b2ContactEdge_set_other_1=i._emscripten_bind_b2ContactEdge_set_other_1,rj=e._emscripten_bind_b2PulleyJoint_GetCurrentLengthB_0=i._emscripten_bind_b2PulleyJoint_GetCurrentLengthB_0,sj=e._emscripten_bind_b2Vec2_op_mul_1=i._emscripten_bind_b2Vec2_op_mul_1,tj=e._emscripten_bind_b2PrismaticJointDef_get_localAnchorA_0=i._emscripten_bind_b2PrismaticJointDef_get_localAnchorA_0,uj=e._emscripten_bind_b2EdgeShape___destroy___0=
i._emscripten_bind_b2EdgeShape___destroy___0,vj=e._emscripten_bind_b2RopeJoint_GetAnchorA_0=i._emscripten_bind_b2RopeJoint_GetAnchorA_0,wj=e._emscripten_bind_b2World_GetContactCount_0=i._emscripten_bind_b2World_GetContactCount_0,xj=e._emscripten_bind_b2MotorJointDef_set_correctionFactor_1=i._emscripten_bind_b2MotorJointDef_set_correctionFactor_1,yj=e._emscripten_bind_b2DistanceJointDef_set_userData_1=i._emscripten_bind_b2DistanceJointDef_set_userData_1,zj=e._emscripten_bind_b2ContactEdge_get_other_0=
i._emscripten_bind_b2ContactEdge_get_other_0,Aj=e._emscripten_bind_b2RopeJoint_GetLocalAnchorB_0=i._emscripten_bind_b2RopeJoint_GetLocalAnchorB_0,Bj=e._emscripten_bind_b2PulleyJointDef___destroy___0=i._emscripten_bind_b2PulleyJointDef___destroy___0,Cj=e._emscripten_bind_b2MouseJoint_GetBodyB_0=i._emscripten_bind_b2MouseJoint_GetBodyB_0,Dj=e._emscripten_bind_b2PolygonShape_TestPoint_2=i._emscripten_bind_b2PolygonShape_TestPoint_2,Ej=e._emscripten_bind_b2EdgeShape_set_m_vertex3_1=i._emscripten_bind_b2EdgeShape_set_m_vertex3_1,
Fj=e._emscripten_bind_b2PolygonShape_b2PolygonShape_0=i._emscripten_bind_b2PolygonShape_b2PolygonShape_0,Gj=e._emscripten_bind_b2GearJointDef_set_ratio_1=i._emscripten_bind_b2GearJointDef_set_ratio_1,Hj=e._emscripten_bind_b2WheelJoint_SetMaxMotorTorque_1=i._emscripten_bind_b2WheelJoint_SetMaxMotorTorque_1,Ij=e._emscripten_bind_b2WheelJointDef_get_localAxisA_0=i._emscripten_bind_b2WheelJointDef_get_localAxisA_0,Jj=e._emscripten_bind_b2DistanceJointDef_get_localAnchorA_0=i._emscripten_bind_b2DistanceJointDef_get_localAnchorA_0,
Kj=e._emscripten_bind_b2MassData_set_center_1=i._emscripten_bind_b2MassData_set_center_1,Lj=e._emscripten_bind_b2Contact_SetTangentSpeed_1=i._emscripten_bind_b2Contact_SetTangentSpeed_1,Mj=e._emscripten_bind_b2FrictionJointDef_get_localAnchorB_0=i._emscripten_bind_b2FrictionJointDef_get_localAnchorB_0,Nj=e._emscripten_bind_b2BodyDef_get_active_0=i._emscripten_bind_b2BodyDef_get_active_0,Oj=e._emscripten_bind_b2Body_GetAngularVelocity_0=i._emscripten_bind_b2Body_GetAngularVelocity_0,Pj=e._emscripten_bind_b2WeldJoint_GetBodyB_0=
i._emscripten_bind_b2WeldJoint_GetBodyB_0,Qj=e._emscripten_bind_b2Draw___destroy___0=i._emscripten_bind_b2Draw___destroy___0,Rj=e._emscripten_bind_b2WheelJointDef_Initialize_4=i._emscripten_bind_b2WheelJointDef_Initialize_4,Sj=e._emscripten_bind_b2WeldJointDef_set_dampingRatio_1=i._emscripten_bind_b2WeldJointDef_set_dampingRatio_1,Tj=e._emscripten_bind_b2Contact_IsEnabled_0=i._emscripten_bind_b2Contact_IsEnabled_0,Uj=e._emscripten_bind_b2Joint_GetAnchorB_0=i._emscripten_bind_b2Joint_GetAnchorB_0,
Vj=e._emscripten_bind_b2PrismaticJointDef_get_userData_0=i._emscripten_bind_b2PrismaticJointDef_get_userData_0,Wj=e._emscripten_bind_b2MotorJoint_GetMaxForce_0=i._emscripten_bind_b2MotorJoint_GetMaxForce_0,Xj=e._emscripten_bind_b2RevoluteJoint_GetBodyA_0=i._emscripten_bind_b2RevoluteJoint_GetBodyA_0,Yj=e._emscripten_bind_b2ContactID_set_cf_1=i._emscripten_bind_b2ContactID_set_cf_1,Zj=e._emscripten_bind_b2Rot_GetXAxis_0=i._emscripten_bind_b2Rot_GetXAxis_0,$j=e._emscripten_bind_b2ContactEdge_set_prev_1=
i._emscripten_bind_b2ContactEdge_set_prev_1,ak=e._emscripten_bind_b2Vec3_Set_3=i._emscripten_bind_b2Vec3_Set_3,bk=e._emscripten_bind_b2Fixture_GetNext_0=i._emscripten_bind_b2Fixture_GetNext_0,ck=e._emscripten_bind_b2FrictionJointDef_set_localAnchorB_1=i._emscripten_bind_b2FrictionJointDef_set_localAnchorB_1,dk=e._emscripten_bind_b2PulleyJoint_GetNext_0=i._emscripten_bind_b2PulleyJoint_GetNext_0,ek=e._emscripten_bind_b2ChainShape_get_m_type_0=i._emscripten_bind_b2ChainShape_get_m_type_0,fk=e._emscripten_bind_b2GearJointDef_get_bodyA_0=
i._emscripten_bind_b2GearJointDef_get_bodyA_0,gk=e._emscripten_bind_b2DistanceJointDef_set_frequencyHz_1=i._emscripten_bind_b2DistanceJointDef_set_frequencyHz_1,hk=e._emscripten_bind_b2RevoluteJointDef_get_localAnchorB_0=i._emscripten_bind_b2RevoluteJointDef_get_localAnchorB_0,ik=e._emscripten_bind_b2RevoluteJointDef_get_referenceAngle_0=i._emscripten_bind_b2RevoluteJointDef_get_referenceAngle_0,jk=e._emscripten_bind_JSContactFilter___destroy___0=i._emscripten_bind_JSContactFilter___destroy___0,Wb=
e._memset=i._memset,kk=e._emscripten_bind_b2PolygonShape_get_m_radius_0=i._emscripten_bind_b2PolygonShape_get_m_radius_0,lk=e._emscripten_bind_b2RopeJoint_GetUserData_0=i._emscripten_bind_b2RopeJoint_GetUserData_0,mk=e._emscripten_bind_b2RopeJointDef_get_bodyA_0=i._emscripten_bind_b2RopeJointDef_get_bodyA_0,nk=e._emscripten_bind_b2DistanceJointDef_get_dampingRatio_0=i._emscripten_bind_b2DistanceJointDef_get_dampingRatio_0,ok=e._emscripten_enum_b2ManifoldType_e_faceA=i._emscripten_enum_b2ManifoldType_e_faceA,
pk=e._emscripten_enum_b2ManifoldType_e_faceB=i._emscripten_enum_b2ManifoldType_e_faceB,qk=e._emscripten_bind_b2RevoluteJointDef_get_bodyB_0=i._emscripten_bind_b2RevoluteJointDef_get_bodyB_0,rk=e._emscripten_bind_b2FixtureDef_b2FixtureDef_0=i._emscripten_bind_b2FixtureDef_b2FixtureDef_0,sk=e._emscripten_bind_b2PrismaticJoint_SetUserData_1=i._emscripten_bind_b2PrismaticJoint_SetUserData_1,tk=e._emscripten_bind_b2EdgeShape_get_m_hasVertex3_0=i._emscripten_bind_b2EdgeShape_get_m_hasVertex3_0,uk=e._emscripten_enum_b2ShapeType_e_edge=
i._emscripten_enum_b2ShapeType_e_edge,vk=e._emscripten_bind_b2RevoluteJoint_GetMaxMotorTorque_0=i._emscripten_bind_b2RevoluteJoint_GetMaxMotorTorque_0,wk=e._emscripten_bind_b2BodyDef_set_active_1=i._emscripten_bind_b2BodyDef_set_active_1,xk=e._emscripten_bind_b2DistanceJointDef_set_localAnchorB_1=i._emscripten_bind_b2DistanceJointDef_set_localAnchorB_1,yk=e._emscripten_bind_b2Body_GetWorldPoint_1=i._emscripten_bind_b2Body_GetWorldPoint_1,zk=e._emscripten_bind_b2ManifoldPoint_get_normalImpulse_0=i._emscripten_bind_b2ManifoldPoint_get_normalImpulse_0,
Ak=e._emscripten_bind_JSContactFilter_ShouldCollide_2=i._emscripten_bind_JSContactFilter_ShouldCollide_2,Bk=e._emscripten_bind_b2Joint_GetReactionTorque_1=i._emscripten_bind_b2Joint_GetReactionTorque_1,Ck=e._emscripten_bind_b2RevoluteJointDef_set_type_1=i._emscripten_bind_b2RevoluteJointDef_set_type_1,Dk=e._emscripten_bind_b2RopeJointDef_b2RopeJointDef_0=i._emscripten_bind_b2RopeJointDef_b2RopeJointDef_0,Ek=e._emscripten_bind_b2BodyDef_get_linearDamping_0=i._emscripten_bind_b2BodyDef_get_linearDamping_0,
Fk=e._emscripten_bind_b2MotorJointDef_get_bodyB_0=i._emscripten_bind_b2MotorJointDef_get_bodyB_0,Gk=e._emscripten_bind_b2World_Step_3=i._emscripten_bind_b2World_Step_3,Hk=e._emscripten_bind_b2CircleShape_RayCast_4=i._emscripten_bind_b2CircleShape_RayCast_4,Ik=e._emscripten_bind_b2Profile_get_step_0=i._emscripten_bind_b2Profile_get_step_0,Jk=e._emscripten_bind_b2Vec3_b2Vec3_0=i._emscripten_bind_b2Vec3_b2Vec3_0,Kk=e._emscripten_bind_b2Vec3_b2Vec3_3=i._emscripten_bind_b2Vec3_b2Vec3_3,Lk=e._emscripten_bind_b2PulleyJoint_GetLengthB_0=
i._emscripten_bind_b2PulleyJoint_GetLengthB_0,Mk=e._emscripten_bind_b2Filter_set_categoryBits_1=i._emscripten_bind_b2Filter_set_categoryBits_1,Nk=e._emscripten_bind_b2MotorJoint_GetUserData_0=i._emscripten_bind_b2MotorJoint_GetUserData_0,Ok=e._emscripten_bind_b2PrismaticJoint_GetLocalAnchorA_0=i._emscripten_bind_b2PrismaticJoint_GetLocalAnchorA_0,Pk=e._emscripten_bind_b2Shape_get_m_type_0=i._emscripten_bind_b2Shape_get_m_type_0,Qk=e._emscripten_bind_b2MouseJoint_SetDampingRatio_1=i._emscripten_bind_b2MouseJoint_SetDampingRatio_1,
Rk=e._emscripten_bind_b2World_GetAutoClearForces_0=i._emscripten_bind_b2World_GetAutoClearForces_0,Sk=e._emscripten_enum_b2ShapeType_e_circle=i._emscripten_enum_b2ShapeType_e_circle,Tk=e._emscripten_bind_b2BodyDef_set_fixedRotation_1=i._emscripten_bind_b2BodyDef_set_fixedRotation_1,Uk=e._emscripten_bind_b2RopeJoint_GetLimitState_0=i._emscripten_bind_b2RopeJoint_GetLimitState_0,Vk=e._emscripten_bind_b2JointDef_get_collideConnected_0=i._emscripten_bind_b2JointDef_get_collideConnected_0,Wk=e._emscripten_bind_b2Body_Dump_0=
i._emscripten_bind_b2Body_Dump_0,Xk=e._emscripten_bind_b2RevoluteJoint_GetLowerLimit_0=i._emscripten_bind_b2RevoluteJoint_GetLowerLimit_0,Yk=e._emscripten_bind_b2Body_GetWorldCenter_0=i._emscripten_bind_b2Body_GetWorldCenter_0,Zk=e._emscripten_bind_JSContactListener___destroy___0=i._emscripten_bind_JSContactListener___destroy___0,$k=e._emscripten_bind_b2BodyDef_set_linearVelocity_1=i._emscripten_bind_b2BodyDef_set_linearVelocity_1,al=e._emscripten_bind_b2JointDef_set_collideConnected_1=i._emscripten_bind_b2JointDef_set_collideConnected_1,
bl=e._emscripten_bind_b2MotorJoint___destroy___0=i._emscripten_bind_b2MotorJoint___destroy___0,cl=e._emscripten_bind_b2Body_GetUserData_0=i._emscripten_bind_b2Body_GetUserData_0,dl=e._emscripten_bind_b2World_GetContinuousPhysics_0=i._emscripten_bind_b2World_GetContinuousPhysics_0,el=e._emscripten_bind_b2Fixture_RayCast_3=i._emscripten_bind_b2Fixture_RayCast_3,fl=e._emscripten_bind_b2JointDef_set_bodyA_1=i._emscripten_bind_b2JointDef_set_bodyA_1,gl=e._emscripten_bind_b2GearJointDef_get_collideConnected_0=
i._emscripten_bind_b2GearJointDef_get_collideConnected_0,hl=e._emscripten_bind_b2RopeJointDef_get_maxLength_0=i._emscripten_bind_b2RopeJointDef_get_maxLength_0,il=e._emscripten_bind_b2MouseJointDef_get_bodyA_0=i._emscripten_bind_b2MouseJointDef_get_bodyA_0,jl=e._emscripten_bind_b2Body_SetBullet_1=i._emscripten_bind_b2Body_SetBullet_1,kl=e._emscripten_bind_b2DistanceJoint_GetType_0=i._emscripten_bind_b2DistanceJoint_GetType_0,ll=e._emscripten_bind_b2FixtureDef_get_restitution_0=i._emscripten_bind_b2FixtureDef_get_restitution_0,
ml=e._emscripten_bind_b2Fixture_GetType_0=i._emscripten_bind_b2Fixture_GetType_0,nl=e._emscripten_bind_b2PulleyJointDef_set_localAnchorB_1=i._emscripten_bind_b2PulleyJointDef_set_localAnchorB_1,ol=e._emscripten_bind_b2RevoluteJoint_GetBodyB_0=i._emscripten_bind_b2RevoluteJoint_GetBodyB_0,pl=e._emscripten_bind_b2Profile_set_solveInit_1=i._emscripten_bind_b2Profile_set_solveInit_1,ql=e._emscripten_bind_b2RopeJointDef_set_type_1=i._emscripten_bind_b2RopeJointDef_set_type_1,rl=e._emscripten_bind_b2PrismaticJointDef_get_bodyB_0=
i._emscripten_bind_b2PrismaticJointDef_get_bodyB_0,sl=e._emscripten_bind_b2Body_SetLinearVelocity_1=i._emscripten_bind_b2Body_SetLinearVelocity_1,tl=e._emscripten_bind_b2RevoluteJoint_GetReferenceAngle_0=i._emscripten_bind_b2RevoluteJoint_GetReferenceAngle_0,ul=e._emscripten_bind_b2PulleyJointDef_get_userData_0=i._emscripten_bind_b2PulleyJointDef_get_userData_0,vl=e._emscripten_bind_b2PrismaticJointDef_set_bodyB_1=i._emscripten_bind_b2PrismaticJointDef_set_bodyB_1,wl=e._emscripten_bind_b2FrictionJointDef_b2FrictionJointDef_0=
i._emscripten_bind_b2FrictionJointDef_b2FrictionJointDef_0,eb=e._free=i._free,xl=e._emscripten_bind_b2PulleyJoint_GetCurrentLengthA_0=i._emscripten_bind_b2PulleyJoint_GetCurrentLengthA_0,yl=e._emscripten_bind_b2Manifold_get_localNormal_0=i._emscripten_bind_b2Manifold_get_localNormal_0,zl=e._emscripten_bind_b2AABB_RayCast_2=i._emscripten_bind_b2AABB_RayCast_2,Al=e._emscripten_bind_b2FixtureDef_set_isSensor_1=i._emscripten_bind_b2FixtureDef_set_isSensor_1,Bl=e._emscripten_bind_b2RopeJoint_GetBodyB_0=
i._emscripten_bind_b2RopeJoint_GetBodyB_0,Cl=e._emscripten_bind_b2PrismaticJoint_GetAnchorA_0=i._emscripten_bind_b2PrismaticJoint_GetAnchorA_0,Dl=e._emscripten_bind_b2ChainShape_set_m_count_1=i._emscripten_bind_b2ChainShape_set_m_count_1,El=e._emscripten_bind_b2PrismaticJoint_IsMotorEnabled_0=i._emscripten_bind_b2PrismaticJoint_IsMotorEnabled_0,Fl=e._emscripten_bind_b2WeldJoint_GetFrequency_0=i._emscripten_bind_b2WeldJoint_GetFrequency_0,Gl=e._emscripten_bind_b2Joint_GetUserData_0=i._emscripten_bind_b2Joint_GetUserData_0,
Hl=e._emscripten_bind_b2RevoluteJointDef_get_lowerAngle_0=i._emscripten_bind_b2RevoluteJointDef_get_lowerAngle_0,Il=e._emscripten_bind_b2Manifold_set_type_1=i._emscripten_bind_b2Manifold_set_type_1,Jl=e._emscripten_bind_b2DistanceJoint_GetLength_0=i._emscripten_bind_b2DistanceJoint_GetLength_0,Kl=e._emscripten_bind_b2RopeJointDef_set_maxLength_1=i._emscripten_bind_b2RopeJointDef_set_maxLength_1,Ll=e._emscripten_bind_b2ChainShape_TestPoint_2=i._emscripten_bind_b2ChainShape_TestPoint_2,Ml=e._emscripten_bind_b2PrismaticJoint_GetReferenceAngle_0=
i._emscripten_bind_b2PrismaticJoint_GetReferenceAngle_0,Nl=e._emscripten_bind_b2RayCastInput_get_p2_0=i._emscripten_bind_b2RayCastInput_get_p2_0,Ol=e._emscripten_bind_b2RevoluteJoint_EnableLimit_1=i._emscripten_bind_b2RevoluteJoint_EnableLimit_1,Pl=e._emscripten_bind_b2BodyDef_set_angle_1=i._emscripten_bind_b2BodyDef_set_angle_1,Ql=e._emscripten_bind_b2WeldJoint_GetUserData_0=i._emscripten_bind_b2WeldJoint_GetUserData_0,Rl=e._emscripten_bind_b2WheelJointDef_get_localAnchorA_0=i._emscripten_bind_b2WheelJointDef_get_localAnchorA_0,
Sl=e._emscripten_bind_b2PulleyJointDef_set_type_1=i._emscripten_bind_b2PulleyJointDef_set_type_1,Tl=e._emscripten_bind_b2Body_IsBullet_0=i._emscripten_bind_b2Body_IsBullet_0,Ul=e._emscripten_bind_b2MotorJointDef_set_bodyA_1=i._emscripten_bind_b2MotorJointDef_set_bodyA_1,Vl=e._emscripten_bind_b2Mat33_GetSymInverse33_1=i._emscripten_bind_b2Mat33_GetSymInverse33_1,Wl=e._emscripten_bind_b2Body_ApplyLinearImpulse_3=i._emscripten_bind_b2Body_ApplyLinearImpulse_3,Xl=e._emscripten_bind_b2PolygonShape_ComputeMass_2=
i._emscripten_bind_b2PolygonShape_ComputeMass_2,Yl=e._emscripten_bind_b2WeldJoint_GetLocalAnchorA_0=i._emscripten_bind_b2WeldJoint_GetLocalAnchorA_0,Zl=e._emscripten_bind_b2MouseJoint_SetFrequency_1=i._emscripten_bind_b2MouseJoint_SetFrequency_1,$l=e._emscripten_bind_b2EdgeShape_get_m_vertex1_0=i._emscripten_bind_b2EdgeShape_get_m_vertex1_0,am=e._emscripten_bind_b2BodyDef_set_awake_1=i._emscripten_bind_b2BodyDef_set_awake_1,bm=e._emscripten_bind_b2Vec2_get_y_0=i._emscripten_bind_b2Vec2_get_y_0,cm=
e._emscripten_bind_b2Body_CreateFixture_1=i._emscripten_bind_b2Body_CreateFixture_1,dm=e._emscripten_bind_b2Body_CreateFixture_2=i._emscripten_bind_b2Body_CreateFixture_2,em=e._emscripten_bind_b2PulleyJoint_GetUserData_0=i._emscripten_bind_b2PulleyJoint_GetUserData_0,fm=e._emscripten_bind_b2Body_SetActive_1=i._emscripten_bind_b2Body_SetActive_1,gm=e._emscripten_bind_b2Fixture_GetUserData_0=i._emscripten_bind_b2Fixture_GetUserData_0,hm=e._emscripten_bind_b2PolygonShape_ComputeAABB_3=i._emscripten_bind_b2PolygonShape_ComputeAABB_3,
im=e._emscripten_bind_b2ContactFeature_get_typeA_0=i._emscripten_bind_b2ContactFeature_get_typeA_0,jm=e._emscripten_bind_b2MouseJoint_GetReactionForce_1=i._emscripten_bind_b2MouseJoint_GetReactionForce_1,km=e._emscripten_bind_b2FrictionJoint_GetReactionTorque_1=i._emscripten_bind_b2FrictionJoint_GetReactionTorque_1,lm=e._emscripten_bind_b2EdgeShape_TestPoint_2=i._emscripten_bind_b2EdgeShape_TestPoint_2,mc=e._memcpy=i._memcpy,mm=e._emscripten_bind_b2PolygonShape_get_m_centroid_0=i._emscripten_bind_b2PolygonShape_get_m_centroid_0,
nm=e._emscripten_bind_b2ChainShape___destroy___0=i._emscripten_bind_b2ChainShape___destroy___0,om=e._emscripten_bind_b2GearJoint_SetUserData_1=i._emscripten_bind_b2GearJoint_SetUserData_1,pm=e._emscripten_bind_b2Vec3_set_z_1=i._emscripten_bind_b2Vec3_set_z_1,qm=e._emscripten_bind_b2PrismaticJointDef_set_enableLimit_1=i._emscripten_bind_b2PrismaticJointDef_set_enableLimit_1,rm=e._emscripten_bind_b2DistanceJoint_GetFrequency_0=i._emscripten_bind_b2DistanceJoint_GetFrequency_0,sm=e._emscripten_bind_b2Body_SetGravityScale_1=
i._emscripten_bind_b2Body_SetGravityScale_1,tm=e._emscripten_enum_b2ContactFeatureType_e_face=i._emscripten_enum_b2ContactFeatureType_e_face,um=e._emscripten_bind_b2AABB_GetPerimeter_0=i._emscripten_bind_b2AABB_GetPerimeter_0,vm=e._emscripten_bind_b2PulleyJointDef_get_lengthA_0=i._emscripten_bind_b2PulleyJointDef_get_lengthA_0,wm=e._emscripten_bind_b2Vec3_set_x_1=i._emscripten_bind_b2Vec3_set_x_1,xm=e._emscripten_bind_b2PulleyJointDef_get_type_0=i._emscripten_bind_b2PulleyJointDef_get_type_0,ym=e._emscripten_bind_JSDestructionListener_SayGoodbyeJoint_1=
i._emscripten_bind_JSDestructionListener_SayGoodbyeJoint_1,zm=e._emscripten_bind_b2Shape___destroy___0=i._emscripten_bind_b2Shape___destroy___0,Yb=e._strlen=i._strlen,Am=e._emscripten_bind_b2Color_set_b_1=i._emscripten_bind_b2Color_set_b_1,Bm=e._emscripten_bind_b2Joint_GetReactionForce_1=i._emscripten_bind_b2Joint_GetReactionForce_1,Cm=e._emscripten_bind_b2FixtureDef_set_friction_1=i._emscripten_bind_b2FixtureDef_set_friction_1,Dm=e._emscripten_bind_b2ContactID___destroy___0=i._emscripten_bind_b2ContactID___destroy___0,
Em=e._emscripten_bind_b2EdgeShape_get_m_hasVertex0_0=i._emscripten_bind_b2EdgeShape_get_m_hasVertex0_0,Fm=e._emscripten_bind_JSRayCastCallback_ReportFixture_4=i._emscripten_bind_JSRayCastCallback_ReportFixture_4,Gm=e._emscripten_bind_b2MotorJointDef_get_linearOffset_0=i._emscripten_bind_b2MotorJointDef_get_linearOffset_0,Hm=e._emscripten_bind_b2Profile_set_solveVelocity_1=i._emscripten_bind_b2Profile_set_solveVelocity_1,Im=e._emscripten_bind_b2PrismaticJoint_GetAnchorB_0=i._emscripten_bind_b2PrismaticJoint_GetAnchorB_0,
Jm=e._emscripten_bind_b2WeldJointDef_b2WeldJointDef_0=i._emscripten_bind_b2WeldJointDef_b2WeldJointDef_0,Km=e._emscripten_enum_b2BodyType_b2_staticBody=i._emscripten_enum_b2BodyType_b2_staticBody,Lm=e._emscripten_bind_b2RevoluteJointDef_set_upperAngle_1=i._emscripten_bind_b2RevoluteJointDef_set_upperAngle_1,Mm=e._emscripten_bind_b2RevoluteJointDef_get_type_0=i._emscripten_bind_b2RevoluteJointDef_get_type_0,Nm=e._emscripten_bind_b2GearJointDef_get_type_0=i._emscripten_bind_b2GearJointDef_get_type_0,
Om=e._emscripten_bind_b2ChainShape_GetType_0=i._emscripten_bind_b2ChainShape_GetType_0,Pm=e._emscripten_bind_b2RayCastInput_get_maxFraction_0=i._emscripten_bind_b2RayCastInput_get_maxFraction_0,Qm=e._emscripten_bind_b2GearJoint_GetBodyA_0=i._emscripten_bind_b2GearJoint_GetBodyA_0,Rm=e._emscripten_bind_b2Body_GetLocalVector_1=i._emscripten_bind_b2Body_GetLocalVector_1,Sm=e._emscripten_bind_b2PrismaticJoint_EnableLimit_1=i._emscripten_bind_b2PrismaticJoint_EnableLimit_1,Tm=e._emscripten_bind_b2FrictionJointDef_get_maxForce_0=
i._emscripten_bind_b2FrictionJointDef_get_maxForce_0,Um=e._emscripten_bind_b2BodyDef_set_angularVelocity_1=i._emscripten_bind_b2BodyDef_set_angularVelocity_1,Vm=e._emscripten_bind_b2Body_SetLinearDamping_1=i._emscripten_bind_b2Body_SetLinearDamping_1,Wm=e._emscripten_bind_b2WheelJoint_GetBodyB_0=i._emscripten_bind_b2WheelJoint_GetBodyB_0,Xm=e._emscripten_bind_b2Color___destroy___0=i._emscripten_bind_b2Color___destroy___0,Ym=e._emscripten_bind_b2PrismaticJoint_IsActive_0=i._emscripten_bind_b2PrismaticJoint_IsActive_0,
Zm=e._emscripten_bind_b2Filter_get_categoryBits_0=i._emscripten_bind_b2Filter_get_categoryBits_0,$m=e._emscripten_enum_b2JointType_e_weldJoint=i._emscripten_enum_b2JointType_e_weldJoint,an=e._emscripten_bind_b2World_SetContinuousPhysics_1=i._emscripten_bind_b2World_SetContinuousPhysics_1,bn=e._emscripten_bind_b2MouseJointDef_get_target_0=i._emscripten_bind_b2MouseJointDef_get_target_0,cn=e._emscripten_bind_b2Manifold_b2Manifold_0=i._emscripten_bind_b2Manifold_b2Manifold_0,dn=e._emscripten_bind_b2PulleyJointDef_set_userData_1=
i._emscripten_bind_b2PulleyJointDef_set_userData_1,en=e._emscripten_bind_b2FrictionJointDef_set_maxForce_1=i._emscripten_bind_b2FrictionJointDef_set_maxForce_1,fn=e._emscripten_bind_b2DistanceJointDef_b2DistanceJointDef_0=i._emscripten_bind_b2DistanceJointDef_b2DistanceJointDef_0,gn=e._emscripten_bind_b2PolygonShape_set_m_centroid_1=i._emscripten_bind_b2PolygonShape_set_m_centroid_1,hn=e._emscripten_bind_b2Mat33_GetInverse22_1=i._emscripten_bind_b2Mat33_GetInverse22_1,jn=e._emscripten_bind_b2PolygonShape_SetAsBox_4=
i._emscripten_bind_b2PolygonShape_SetAsBox_4,kn=e._emscripten_bind_b2EdgeShape_get_m_vertex2_0=i._emscripten_bind_b2EdgeShape_get_m_vertex2_0,ln=e._emscripten_bind_b2WheelJoint_GetReactionTorque_1=i._emscripten_bind_b2WheelJoint_GetReactionTorque_1,mn=e._emscripten_bind_b2RevoluteJointDef_b2RevoluteJointDef_0=i._emscripten_bind_b2RevoluteJointDef_b2RevoluteJointDef_0,nn=e._emscripten_bind_b2ContactFeature_set_typeA_1=i._emscripten_bind_b2ContactFeature_set_typeA_1,on=e._emscripten_bind_b2Fixture_Dump_1=
i._emscripten_bind_b2Fixture_Dump_1,pn=e._emscripten_bind_b2World_GetJointList_0=i._emscripten_bind_b2World_GetJointList_0,qn=e._emscripten_bind_b2Manifold_set_localPoint_1=i._emscripten_bind_b2Manifold_set_localPoint_1,rn=e._emscripten_bind_b2DistanceJoint_SetUserData_1=i._emscripten_bind_b2DistanceJoint_SetUserData_1,sn=e._emscripten_bind_b2BodyDef_set_bullet_1=i._emscripten_bind_b2BodyDef_set_bullet_1,tn=e._emscripten_bind_b2RayCastOutput___destroy___0=i._emscripten_bind_b2RayCastOutput___destroy___0;
e.___cxa_can_catch=i.___cxa_can_catch;
var un=e._emscripten_bind_b2WheelJoint_GetNext_0=i._emscripten_bind_b2WheelJoint_GetNext_0,vn=e._emscripten_bind_b2AABB_GetCenter_0=i._emscripten_bind_b2AABB_GetCenter_0,wn=e._emscripten_bind_b2Filter_set_groupIndex_1=i._emscripten_bind_b2Filter_set_groupIndex_1,xn=e._emscripten_bind_b2JointDef_b2JointDef_0=i._emscripten_bind_b2JointDef_b2JointDef_0,yn=e._emscripten_bind_b2CircleShape_b2CircleShape_0=i._emscripten_bind_b2CircleShape_b2CircleShape_0,zn=e._emscripten_bind_b2GearJointDef_b2GearJointDef_0=i._emscripten_bind_b2GearJointDef_b2GearJointDef_0,
An=e._emscripten_bind_b2JointDef_get_bodyB_0=i._emscripten_bind_b2JointDef_get_bodyB_0,Bn=e._emscripten_bind_b2DistanceJoint_GetReactionForce_1=i._emscripten_bind_b2DistanceJoint_GetReactionForce_1,Cn=e._emscripten_bind_b2PrismaticJoint_GetJointSpeed_0=i._emscripten_bind_b2PrismaticJoint_GetJointSpeed_0,Dn=e._emscripten_bind_b2PulleyJointDef_get_groundAnchorB_0=i._emscripten_bind_b2PulleyJointDef_get_groundAnchorB_0,En=e._emscripten_bind_b2Joint_GetAnchorA_0=i._emscripten_bind_b2Joint_GetAnchorA_0,
Fn=e._emscripten_bind_b2Contact_GetRestitution_0=i._emscripten_bind_b2Contact_GetRestitution_0,Gn=e._emscripten_bind_b2ContactEdge_get_contact_0=i._emscripten_bind_b2ContactEdge_get_contact_0,Hn=e._emscripten_bind_b2RevoluteJointDef_get_userData_0=i._emscripten_bind_b2RevoluteJointDef_get_userData_0,In=e._emscripten_bind_b2Body_ApplyTorque_2=i._emscripten_bind_b2Body_ApplyTorque_2,Jn=e._emscripten_bind_b2Fixture_GetAABB_1=i._emscripten_bind_b2Fixture_GetAABB_1,Kn=e._emscripten_bind_b2DistanceJointDef_Initialize_4=
i._emscripten_bind_b2DistanceJointDef_Initialize_4,Ln=e._emscripten_bind_b2PrismaticJointDef_set_collideConnected_1=i._emscripten_bind_b2PrismaticJointDef_set_collideConnected_1,Mn=e._emscripten_bind_b2PrismaticJointDef_set_localAxisA_1=i._emscripten_bind_b2PrismaticJointDef_set_localAxisA_1,Nn=e._emscripten_bind_b2Contact_GetTangentSpeed_0=i._emscripten_bind_b2Contact_GetTangentSpeed_0,On=e._emscripten_enum_b2LimitState_e_atLowerLimit=i._emscripten_enum_b2LimitState_e_atLowerLimit,Pn=e._emscripten_bind_b2ManifoldPoint_set_id_1=
i._emscripten_bind_b2ManifoldPoint_set_id_1,Qn=e._emscripten_bind_b2WheelJointDef_get_bodyB_0=i._emscripten_bind_b2WheelJointDef_get_bodyB_0,Rn=e._emscripten_bind_b2WeldJoint_GetLocalAnchorB_0=i._emscripten_bind_b2WeldJoint_GetLocalAnchorB_0,Sn=e._emscripten_bind_b2RevoluteJointDef_set_localAnchorB_1=i._emscripten_bind_b2RevoluteJointDef_set_localAnchorB_1,Tn=e._emscripten_bind_b2RevoluteJoint_GetType_0=i._emscripten_bind_b2RevoluteJoint_GetType_0,Un=e._emscripten_bind_b2Body_DestroyFixture_1=i._emscripten_bind_b2Body_DestroyFixture_1,
Vn=e._emscripten_bind_b2Profile_set_broadphase_1=i._emscripten_bind_b2Profile_set_broadphase_1,Wn=e._emscripten_bind_b2WheelJointDef_get_localAnchorB_0=i._emscripten_bind_b2WheelJointDef_get_localAnchorB_0,Xn=e._emscripten_bind_b2ContactImpulse_get_count_0=i._emscripten_bind_b2ContactImpulse_get_count_0,Yn=e._emscripten_bind_b2World_GetJointCount_0=i._emscripten_bind_b2World_GetJointCount_0,Zn=e._emscripten_bind_b2WheelJoint_GetMotorSpeed_0=i._emscripten_bind_b2WheelJoint_GetMotorSpeed_0,$n=e._emscripten_bind_b2Body_GetAngularDamping_0=
i._emscripten_bind_b2Body_GetAngularDamping_0,ao=e._emscripten_bind_b2WheelJointDef_get_dampingRatio_0=i._emscripten_bind_b2WheelJointDef_get_dampingRatio_0,bo=e._emscripten_bind_b2RayCastOutput_get_fraction_0=i._emscripten_bind_b2RayCastOutput_get_fraction_0,co=e._emscripten_enum_b2ManifoldType_e_circles=i._emscripten_enum_b2ManifoldType_e_circles,eo=e._emscripten_bind_b2GearJoint_SetRatio_1=i._emscripten_bind_b2GearJoint_SetRatio_1,fo=e._emscripten_bind_JSDraw_DrawPolygon_3=i._emscripten_bind_JSDraw_DrawPolygon_3,
go=e._emscripten_bind_b2Filter___destroy___0=i._emscripten_bind_b2Filter___destroy___0,ho=e._emscripten_bind_b2JointEdge_set_next_1=i._emscripten_bind_b2JointEdge_set_next_1;e.___cxa_is_pointer_type=i.___cxa_is_pointer_type;
var io=e._emscripten_bind_b2BodyDef_get_fixedRotation_0=i._emscripten_bind_b2BodyDef_get_fixedRotation_0,jo=e._emscripten_bind_b2PrismaticJointDef_set_motorSpeed_1=i._emscripten_bind_b2PrismaticJointDef_set_motorSpeed_1,ko=e._emscripten_bind_b2ChainShape_SetPrevVertex_1=i._emscripten_bind_b2ChainShape_SetPrevVertex_1,lo=e._emscripten_bind_b2MotorJoint_IsActive_0=i._emscripten_bind_b2MotorJoint_IsActive_0,mo=e._emscripten_bind_b2MouseJoint_GetReactionTorque_1=i._emscripten_bind_b2MouseJoint_GetReactionTorque_1,
no=e._emscripten_bind_b2MouseJoint_GetUserData_0=i._emscripten_bind_b2MouseJoint_GetUserData_0,oo=e._emscripten_bind_b2WheelJoint_GetUserData_0=i._emscripten_bind_b2WheelJoint_GetUserData_0,po=e._emscripten_bind_b2Vec3_op_sub_1=i._emscripten_bind_b2Vec3_op_sub_1,qo=e._emscripten_bind_b2BodyDef_get_gravityScale_0=i._emscripten_bind_b2BodyDef_get_gravityScale_0,ro=e._emscripten_bind_b2Shape_GetType_0=i._emscripten_bind_b2Shape_GetType_0,so=e._emscripten_bind_b2AABB_IsValid_0=i._emscripten_bind_b2AABB_IsValid_0,
to=e._emscripten_bind_b2WheelJoint_GetBodyA_0=i._emscripten_bind_b2WheelJoint_GetBodyA_0,uo=e._emscripten_bind_JSDraw_DrawTransform_1=i._emscripten_bind_JSDraw_DrawTransform_1,vo=e._emscripten_bind_b2PulleyJoint_GetLengthA_0=i._emscripten_bind_b2PulleyJoint_GetLengthA_0,wo=e._emscripten_bind_b2DistanceJointDef_get_frequencyHz_0=i._emscripten_bind_b2DistanceJointDef_get_frequencyHz_0,xo=e._emscripten_bind_b2RevoluteJoint_SetMotorSpeed_1=i._emscripten_bind_b2RevoluteJoint_SetMotorSpeed_1,yo=e._emscripten_bind_b2World___destroy___0=
i._emscripten_bind_b2World___destroy___0,zo=e._emscripten_bind_b2ChainShape_get_m_hasNextVertex_0=i._emscripten_bind_b2ChainShape_get_m_hasNextVertex_0,Ao=e._emscripten_bind_b2ChainShape_SetNextVertex_1=i._emscripten_bind_b2ChainShape_SetNextVertex_1,Bo=e._emscripten_bind_b2Body_SetType_1=i._emscripten_bind_b2Body_SetType_1,Co=e._emscripten_bind_b2Body_GetMass_0=i._emscripten_bind_b2Body_GetMass_0,Do=e._emscripten_bind_b2Rot_b2Rot_0=i._emscripten_bind_b2Rot_b2Rot_0,Eo=e._emscripten_bind_b2Rot_b2Rot_1=
i._emscripten_bind_b2Rot_b2Rot_1,Fo=e._emscripten_enum_b2JointType_e_distanceJoint=i._emscripten_enum_b2JointType_e_distanceJoint,Go=e._emscripten_bind_b2PulleyJoint___destroy___0=i._emscripten_bind_b2PulleyJoint___destroy___0,Ho=e._emscripten_bind_b2PrismaticJoint_GetLocalAnchorB_0=i._emscripten_bind_b2PrismaticJoint_GetLocalAnchorB_0,Io=e._emscripten_bind_b2MouseJoint_GetType_0=i._emscripten_bind_b2MouseJoint_GetType_0,Jo=e._emscripten_bind_JSQueryCallback___destroy___0=i._emscripten_bind_JSQueryCallback___destroy___0,
Ko=e._emscripten_bind_b2RevoluteJointDef_set_lowerAngle_1=i._emscripten_bind_b2RevoluteJointDef_set_lowerAngle_1,Lo=e._emscripten_bind_b2JointEdge___destroy___0=i._emscripten_bind_b2JointEdge___destroy___0,Mo=e._emscripten_bind_b2PulleyJoint_GetRatio_0=i._emscripten_bind_b2PulleyJoint_GetRatio_0,No=e._emscripten_bind_JSContactListener_BeginContact_1=i._emscripten_bind_JSContactListener_BeginContact_1,Oo=e._emscripten_bind_b2MotorJointDef_set_linearOffset_1=i._emscripten_bind_b2MotorJointDef_set_linearOffset_1,
Po=e._emscripten_enum_b2JointType_e_motorJoint=i._emscripten_enum_b2JointType_e_motorJoint,Qo=e._emscripten_bind_b2JointEdge_get_next_0=i._emscripten_bind_b2JointEdge_get_next_0,Ro=e._emscripten_bind_b2RayCastInput_set_maxFraction_1=i._emscripten_bind_b2RayCastInput_set_maxFraction_1,So=e._emscripten_bind_b2MouseJoint_GetBodyA_0=i._emscripten_bind_b2MouseJoint_GetBodyA_0,To=e._emscripten_bind_b2Profile_set_collide_1=i._emscripten_bind_b2Profile_set_collide_1,Uo=e._emscripten_bind_b2AABB_b2AABB_0=
i._emscripten_bind_b2AABB_b2AABB_0,Vo=e._emscripten_bind_b2Fixture_Refilter_0=i._emscripten_bind_b2Fixture_Refilter_0,Wo=e._emscripten_bind_b2World_CreateBody_1=i._emscripten_bind_b2World_CreateBody_1,Xo=e._emscripten_bind_b2RopeJointDef_set_userData_1=i._emscripten_bind_b2RopeJointDef_set_userData_1,Yo=e._emscripten_bind_b2Fixture_IsSensor_0=i._emscripten_bind_b2Fixture_IsSensor_0,Zo=e._emscripten_bind_b2WeldJoint_GetType_0=i._emscripten_bind_b2WeldJoint_GetType_0,$o=e._emscripten_bind_b2PrismaticJointDef_get_motorSpeed_0=
i._emscripten_bind_b2PrismaticJointDef_get_motorSpeed_0,ap=e._emscripten_bind_b2Rot___destroy___0=i._emscripten_bind_b2Rot___destroy___0,bp=e._emscripten_bind_b2Filter_get_maskBits_0=i._emscripten_bind_b2Filter_get_maskBits_0,cp=e._emscripten_bind_b2Mat22_get_ex_0=i._emscripten_bind_b2Mat22_get_ex_0,dp=e._emscripten_bind_b2Body_GetFixtureList_0=i._emscripten_bind_b2Body_GetFixtureList_0,ep=e._emscripten_bind_b2RevoluteJointDef_get_enableMotor_0=i._emscripten_bind_b2RevoluteJointDef_get_enableMotor_0,
fp=e._emscripten_bind_b2MouseJointDef_set_dampingRatio_1=i._emscripten_bind_b2MouseJointDef_set_dampingRatio_1,gp=e._emscripten_bind_JSRayCastCallback___destroy___0=i._emscripten_bind_JSRayCastCallback___destroy___0,hp=e._emscripten_bind_b2ContactListener___destroy___0=i._emscripten_bind_b2ContactListener___destroy___0,ip=e._emscripten_bind_b2PrismaticJointDef_set_localAnchorB_1=i._emscripten_bind_b2PrismaticJointDef_set_localAnchorB_1,jp=e._emscripten_enum_b2DrawFlag_e_pairBit=i._emscripten_enum_b2DrawFlag_e_pairBit,
kp=e._emscripten_bind_b2FrictionJoint___destroy___0=i._emscripten_bind_b2FrictionJoint___destroy___0,lp=e._emscripten_bind_b2WeldJoint_Dump_0=i._emscripten_bind_b2WeldJoint_Dump_0,mp=e._emscripten_bind_b2MotorJoint_SetMaxForce_1=i._emscripten_bind_b2MotorJoint_SetMaxForce_1,np=e._emscripten_bind_b2FrictionJointDef_get_maxTorque_0=i._emscripten_bind_b2FrictionJointDef_get_maxTorque_0,op=e._emscripten_bind_b2FrictionJoint_GetLocalAnchorA_0=i._emscripten_bind_b2FrictionJoint_GetLocalAnchorA_0,pp=e._emscripten_bind_b2WeldJointDef_get_localAnchorB_0=
i._emscripten_bind_b2WeldJointDef_get_localAnchorB_0,qp=e._emscripten_bind_b2PrismaticJointDef_get_bodyA_0=i._emscripten_bind_b2PrismaticJointDef_get_bodyA_0,rp=e._emscripten_bind_b2Vec2_IsValid_0=i._emscripten_bind_b2Vec2_IsValid_0,sp=e._emscripten_bind_b2PrismaticJointDef_set_bodyA_1=i._emscripten_bind_b2PrismaticJointDef_set_bodyA_1,tp=e._emscripten_bind_b2World_GetWarmStarting_0=i._emscripten_bind_b2World_GetWarmStarting_0,up=e._emscripten_bind_b2RevoluteJointDef_set_enableLimit_1=i._emscripten_bind_b2RevoluteJointDef_set_enableLimit_1,
vp=e._emscripten_bind_b2WeldJointDef___destroy___0=i._emscripten_bind_b2WeldJointDef___destroy___0,wp=e._emscripten_bind_b2Mat22_Solve_1=i._emscripten_bind_b2Mat22_Solve_1,xp=e._emscripten_bind_b2Color_get_g_0=i._emscripten_bind_b2Color_get_g_0,yp=e._emscripten_bind_VoidPtr___destroy___0=i._emscripten_bind_VoidPtr___destroy___0,zp=e._emscripten_bind_b2RopeJoint_GetNext_0=i._emscripten_bind_b2RopeJoint_GetNext_0,Ap=e._emscripten_bind_b2Filter_b2Filter_0=i._emscripten_bind_b2Filter_b2Filter_0,Bp=e._emscripten_bind_b2PolygonShape_GetChildCount_0=
i._emscripten_bind_b2PolygonShape_GetChildCount_0,Cp=e._emscripten_bind_b2GearJointDef_get_ratio_0=i._emscripten_bind_b2GearJointDef_get_ratio_0,Dp=e._emscripten_bind_b2Mat33_Solve33_1=i._emscripten_bind_b2Mat33_Solve33_1,Ep=e._emscripten_bind_b2PulleyJoint_GetReactionForce_1=i._emscripten_bind_b2PulleyJoint_GetReactionForce_1,Fp=e._emscripten_bind_b2WheelJoint_GetCollideConnected_0=i._emscripten_bind_b2WheelJoint_GetCollideConnected_0,Gp=e._emscripten_bind_b2WheelJoint_SetSpringDampingRatio_1=i._emscripten_bind_b2WheelJoint_SetSpringDampingRatio_1,
Hp=e._emscripten_bind_b2RevoluteJointDef___destroy___0=i._emscripten_bind_b2RevoluteJointDef___destroy___0,Ip=e._emscripten_bind_b2MouseJointDef_get_maxForce_0=i._emscripten_bind_b2MouseJointDef_get_maxForce_0,Jp=e._emscripten_bind_b2RevoluteJoint_EnableMotor_1=i._emscripten_bind_b2RevoluteJoint_EnableMotor_1,Kp=e._emscripten_bind_b2ContactFeature_get_typeB_0=i._emscripten_bind_b2ContactFeature_get_typeB_0,Lp=e._emscripten_bind_b2MotorJoint_SetLinearOffset_1=i._emscripten_bind_b2MotorJoint_SetLinearOffset_1,
Mp=e._emscripten_bind_b2MotorJoint_GetReactionForce_1=i._emscripten_bind_b2MotorJoint_GetReactionForce_1,Np=e._emscripten_bind_b2Rot_GetAngle_0=i._emscripten_bind_b2Rot_GetAngle_0,Op=e._emscripten_bind_b2World_SetAllowSleeping_1=i._emscripten_bind_b2World_SetAllowSleeping_1,Pp=e._emscripten_bind_b2MotorJoint_SetAngularOffset_1=i._emscripten_bind_b2MotorJoint_SetAngularOffset_1,Qp=e._emscripten_bind_b2MotorJoint_GetLinearOffset_0=i._emscripten_bind_b2MotorJoint_GetLinearOffset_0,Rp=e._emscripten_bind_b2FrictionJoint_GetCollideConnected_0=
i._emscripten_bind_b2FrictionJoint_GetCollideConnected_0,Sp=e._emscripten_bind_b2WheelJointDef_set_motorSpeed_1=i._emscripten_bind_b2WheelJointDef_set_motorSpeed_1,Tp=e._emscripten_bind_b2MotorJoint_GetAnchorA_0=i._emscripten_bind_b2MotorJoint_GetAnchorA_0,Up=e._emscripten_bind_b2Fixture_GetDensity_0=i._emscripten_bind_b2Fixture_GetDensity_0,Vp=e._emscripten_bind_b2PolygonShape_get_m_type_0=i._emscripten_bind_b2PolygonShape_get_m_type_0,Wp=e._emscripten_bind_b2Vec2_Set_2=i._emscripten_bind_b2Vec2_Set_2,
Xp=e._emscripten_bind_b2WeldJointDef_get_type_0=i._emscripten_bind_b2WeldJointDef_get_type_0,Yp=e._emscripten_bind_b2MouseJointDef_b2MouseJointDef_0=i._emscripten_bind_b2MouseJointDef_b2MouseJointDef_0,Zp=e._emscripten_bind_b2Rot_get_s_0=i._emscripten_bind_b2Rot_get_s_0,$p=e._emscripten_bind_b2FrictionJoint_SetMaxTorque_1=i._emscripten_bind_b2FrictionJoint_SetMaxTorque_1,aq=e._emscripten_bind_b2MouseJointDef_get_frequencyHz_0=i._emscripten_bind_b2MouseJointDef_get_frequencyHz_0,bq=e._emscripten_bind_b2FrictionJoint_SetUserData_1=
i._emscripten_bind_b2FrictionJoint_SetUserData_1,cq=e._emscripten_bind_b2FixtureDef_set_userData_1=i._emscripten_bind_b2FixtureDef_set_userData_1,dq=e._emscripten_bind_b2JointDef_get_userData_0=i._emscripten_bind_b2JointDef_get_userData_0,eq=e._emscripten_bind_b2DistanceJointDef_get_collideConnected_0=i._emscripten_bind_b2DistanceJointDef_get_collideConnected_0,fq=e._emscripten_bind_b2RevoluteJointDef_set_referenceAngle_1=i._emscripten_bind_b2RevoluteJointDef_set_referenceAngle_1,gq=e._emscripten_bind_b2ContactFeature___destroy___0=
i._emscripten_bind_b2ContactFeature___destroy___0,hq=e._emscripten_bind_b2DistanceJointDef_set_bodyB_1=i._emscripten_bind_b2DistanceJointDef_set_bodyB_1,iq=e._emscripten_bind_JSQueryCallback_JSQueryCallback_0=i._emscripten_bind_JSQueryCallback_JSQueryCallback_0,jq=e._emscripten_bind_b2ChainShape_GetChildCount_0=i._emscripten_bind_b2ChainShape_GetChildCount_0,kq=e._emscripten_bind_b2MassData_b2MassData_0=i._emscripten_bind_b2MassData_b2MassData_0,lq=e._emscripten_bind_b2Vec3_set_y_1=i._emscripten_bind_b2Vec3_set_y_1,
mq=e._emscripten_bind_b2AABB_Combine_1=i._emscripten_bind_b2AABB_Combine_1,nq=e._emscripten_bind_b2AABB_Combine_2=i._emscripten_bind_b2AABB_Combine_2,oq=e._emscripten_bind_b2PrismaticJoint_GetBodyA_0=i._emscripten_bind_b2PrismaticJoint_GetBodyA_0,pq=e._emscripten_bind_b2PrismaticJoint_GetMaxMotorForce_0=i._emscripten_bind_b2PrismaticJoint_GetMaxMotorForce_0,qq=e._emscripten_bind_b2AABB___destroy___0=i._emscripten_bind_b2AABB___destroy___0,rq=e._emscripten_bind_b2Body_IsSleepingAllowed_0=i._emscripten_bind_b2Body_IsSleepingAllowed_0,
sq=e._emscripten_bind_b2MouseJointDef_set_maxForce_1=i._emscripten_bind_b2MouseJointDef_set_maxForce_1,tq=e._emscripten_bind_b2MotorJoint_GetCorrectionFactor_0=i._emscripten_bind_b2MotorJoint_GetCorrectionFactor_0,uq=e._emscripten_bind_b2Profile_get_solve_0=i._emscripten_bind_b2Profile_get_solve_0,vq=e._emscripten_bind_JSDestructionListener_SayGoodbyeFixture_1=i._emscripten_bind_JSDestructionListener_SayGoodbyeFixture_1,wq=e._emscripten_bind_b2PolygonShape_GetVertexCount_0=i._emscripten_bind_b2PolygonShape_GetVertexCount_0,
xq=e._emscripten_bind_b2Rot_get_c_0=i._emscripten_bind_b2Rot_get_c_0,yq=e._emscripten_bind_b2AABB_set_lowerBound_1=i._emscripten_bind_b2AABB_set_lowerBound_1,zq=e._emscripten_bind_b2ChainShape_get_m_hasPrevVertex_0=i._emscripten_bind_b2ChainShape_get_m_hasPrevVertex_0,Aq=e._emscripten_bind_b2MouseJoint_SetMaxForce_1=i._emscripten_bind_b2MouseJoint_SetMaxForce_1,Bq=e._emscripten_bind_b2FrictionJointDef_get_bodyB_0=i._emscripten_bind_b2FrictionJointDef_get_bodyB_0,Cq=e._emscripten_bind_b2JointDef_set_userData_1=
i._emscripten_bind_b2JointDef_set_userData_1,Dq=e._emscripten_bind_b2ManifoldPoint_get_tangentImpulse_0=i._emscripten_bind_b2ManifoldPoint_get_tangentImpulse_0,Eq=e._emscripten_bind_b2RevoluteJointDef_get_maxMotorTorque_0=i._emscripten_bind_b2RevoluteJointDef_get_maxMotorTorque_0,Fq=e._emscripten_bind_b2WeldJointDef_get_dampingRatio_0=i._emscripten_bind_b2WeldJointDef_get_dampingRatio_0,Gq=e._emscripten_bind_b2MouseJoint___destroy___0=i._emscripten_bind_b2MouseJoint___destroy___0,Hq=e._emscripten_bind_b2EdgeShape_b2EdgeShape_0=
i._emscripten_bind_b2EdgeShape_b2EdgeShape_0,Iq=e._emscripten_bind_b2FrictionJoint_GetReactionForce_1=i._emscripten_bind_b2FrictionJoint_GetReactionForce_1,Jq=e._emscripten_bind_b2DistanceJointDef_set_type_1=i._emscripten_bind_b2DistanceJointDef_set_type_1,Kq=e._emscripten_bind_b2WeldJoint___destroy___0=i._emscripten_bind_b2WeldJoint___destroy___0,Lq=e._emscripten_bind_b2PulleyJoint_GetBodyA_0=i._emscripten_bind_b2PulleyJoint_GetBodyA_0,Mq=e._emscripten_bind_b2RopeJointDef_get_type_0=i._emscripten_bind_b2RopeJointDef_get_type_0,
Nq=e._emscripten_bind_b2CircleShape_ComputeMass_2=i._emscripten_bind_b2CircleShape_ComputeMass_2,Oq=e._emscripten_bind_b2DistanceJointDef_get_localAnchorB_0=i._emscripten_bind_b2DistanceJointDef_get_localAnchorB_0,Pq=e._emscripten_bind_b2GearJointDef___destroy___0=i._emscripten_bind_b2GearJointDef___destroy___0,Qq=e._emscripten_bind_b2RevoluteJointDef_set_bodyA_1=i._emscripten_bind_b2RevoluteJointDef_set_bodyA_1,Rq=e._emscripten_enum_b2BodyType_b2_dynamicBody=i._emscripten_enum_b2BodyType_b2_dynamicBody,
Sq=e._emscripten_bind_b2CircleShape_TestPoint_2=i._emscripten_bind_b2CircleShape_TestPoint_2,Tq=e._emscripten_bind_b2MotorJointDef_get_maxTorque_0=i._emscripten_bind_b2MotorJointDef_get_maxTorque_0,Uq=e._emscripten_bind_b2Body_GetLinearVelocityFromLocalPoint_1=i._emscripten_bind_b2Body_GetLinearVelocityFromLocalPoint_1,Vq=e._emscripten_bind_b2Mat22_b2Mat22_0=i._emscripten_bind_b2Mat22_b2Mat22_0,Wq=e._emscripten_bind_b2MouseJoint_GetAnchorB_0=i._emscripten_bind_b2MouseJoint_GetAnchorB_0,Xq=e._emscripten_enum_b2BodyType_b2_kinematicBody=
i._emscripten_enum_b2BodyType_b2_kinematicBody,Yq=e._emscripten_bind_b2Manifold_get_localPoint_0=i._emscripten_bind_b2Manifold_get_localPoint_0,Zq=e._emscripten_bind_b2GearJoint_GetBodyB_0=i._emscripten_bind_b2GearJoint_GetBodyB_0,$q=e._emscripten_bind_b2ChainShape_Clear_0=i._emscripten_bind_b2ChainShape_Clear_0,ar=e._emscripten_bind_b2CircleShape___destroy___0=i._emscripten_bind_b2CircleShape___destroy___0,br=e._emscripten_bind_b2MotorJoint_GetType_0=i._emscripten_bind_b2MotorJoint_GetType_0,cr=
e._emscripten_bind_b2BodyDef_get_awake_0=i._emscripten_bind_b2BodyDef_get_awake_0,dr=e._emscripten_bind_b2Contact_SetRestitution_1=i._emscripten_bind_b2Contact_SetRestitution_1,er=e._emscripten_bind_b2BodyDef_get_angularDamping_0=i._emscripten_bind_b2BodyDef_get_angularDamping_0,fr=e._emscripten_bind_b2EdgeShape_get_m_vertex3_0=i._emscripten_bind_b2EdgeShape_get_m_vertex3_0,gr=e._emscripten_bind_b2Fixture_SetUserData_1=i._emscripten_bind_b2Fixture_SetUserData_1,hr=e._emscripten_bind_b2Transform_SetIdentity_0=
i._emscripten_bind_b2Transform_SetIdentity_0,ir=e._emscripten_bind_b2GearJointDef_set_joint1_1=i._emscripten_bind_b2GearJointDef_set_joint1_1,jr=e._emscripten_bind_b2EdgeShape_set_m_vertex2_1=i._emscripten_bind_b2EdgeShape_set_m_vertex2_1,kr=e._emscripten_bind_b2ContactEdge_get_next_0=i._emscripten_bind_b2ContactEdge_get_next_0,lr=e._emscripten_bind_b2ContactFeature_set_indexB_1=i._emscripten_bind_b2ContactFeature_set_indexB_1,mr=e._emscripten_bind_b2Body_GetLinearVelocityFromWorldPoint_1=i._emscripten_bind_b2Body_GetLinearVelocityFromWorldPoint_1,
nr=e._emscripten_bind_b2WeldJoint_GetCollideConnected_0=i._emscripten_bind_b2WeldJoint_GetCollideConnected_0,or=e._emscripten_bind_b2Mat22_set_ey_1=i._emscripten_bind_b2Mat22_set_ey_1,pr=e._emscripten_bind_b2WheelJointDef_set_frequencyHz_1=i._emscripten_bind_b2WheelJointDef_set_frequencyHz_1,qr=e._emscripten_bind_b2World_GetSubStepping_0=i._emscripten_bind_b2World_GetSubStepping_0,rr=e._emscripten_bind_b2Rot_GetYAxis_0=i._emscripten_bind_b2Rot_GetYAxis_0,sr=e._emscripten_bind_b2Contact_GetChildIndexB_0=
i._emscripten_bind_b2Contact_GetChildIndexB_0,tr=e._emscripten_bind_b2DistanceJoint___destroy___0=i._emscripten_bind_b2DistanceJoint___destroy___0,ur=e._emscripten_bind_b2EdgeShape_GetType_0=i._emscripten_bind_b2EdgeShape_GetType_0,vr=e._emscripten_bind_b2WheelJointDef_set_dampingRatio_1=i._emscripten_bind_b2WheelJointDef_set_dampingRatio_1,wr=e._emscripten_bind_b2ManifoldPoint___destroy___0=i._emscripten_bind_b2ManifoldPoint___destroy___0,xr=e._emscripten_enum_b2JointType_e_prismaticJoint=i._emscripten_enum_b2JointType_e_prismaticJoint,
yr=e._emscripten_bind_b2MotorJoint_GetNext_0=i._emscripten_bind_b2MotorJoint_GetNext_0,zr=e._emscripten_bind_b2Vec2_Length_0=i._emscripten_bind_b2Vec2_Length_0,Ar=e._emscripten_bind_b2Vec2_SetZero_0=i._emscripten_bind_b2Vec2_SetZero_0,Br=e._emscripten_bind_b2RopeJoint___destroy___0=i._emscripten_bind_b2RopeJoint___destroy___0,Cr=e._emscripten_bind_b2World_DestroyJoint_1=i._emscripten_bind_b2World_DestroyJoint_1,Dr=e._emscripten_bind_b2JointDef_set_bodyB_1=i._emscripten_bind_b2JointDef_set_bodyB_1,
Er=e._emscripten_bind_b2Mat22_Set_2=i._emscripten_bind_b2Mat22_Set_2,Fr=e._emscripten_bind_b2Body_GetType_0=i._emscripten_bind_b2Body_GetType_0,Gr=e._emscripten_bind_b2WeldJoint_GetAnchorB_0=i._emscripten_bind_b2WeldJoint_GetAnchorB_0,Hr=e._emscripten_bind_b2WeldJoint_GetNext_0=i._emscripten_bind_b2WeldJoint_GetNext_0,Ir=e._emscripten_bind_b2Shape_get_m_radius_0=i._emscripten_bind_b2Shape_get_m_radius_0,Jr=e._emscripten_bind_b2EdgeShape_ComputeAABB_3=i._emscripten_bind_b2EdgeShape_ComputeAABB_3,Kr=
e._emscripten_bind_b2BodyDef_get_type_0=i._emscripten_bind_b2BodyDef_get_type_0,Lr=e._emscripten_bind_b2WheelJointDef_set_collideConnected_1=i._emscripten_bind_b2WheelJointDef_set_collideConnected_1,Mr=e._emscripten_bind_JSDestructionListener___destroy___0=i._emscripten_bind_JSDestructionListener___destroy___0,Nr=e._emscripten_bind_b2MotorJointDef_get_type_0=i._emscripten_bind_b2MotorJointDef_get_type_0,Or=e._emscripten_bind_b2RopeJoint_GetLocalAnchorA_0=i._emscripten_bind_b2RopeJoint_GetLocalAnchorA_0,
Pr=e._emscripten_bind_b2BodyDef_set_linearDamping_1=i._emscripten_bind_b2BodyDef_set_linearDamping_1,Qr=e._emscripten_bind_b2FrictionJoint_GetUserData_0=i._emscripten_bind_b2FrictionJoint_GetUserData_0,Rr=e._emscripten_bind_b2Contact_SetFriction_1=i._emscripten_bind_b2Contact_SetFriction_1,Sr=e._emscripten_bind_b2Manifold_set_localNormal_1=i._emscripten_bind_b2Manifold_set_localNormal_1,Tr=e._emscripten_bind_b2JointDef_get_bodyA_0=i._emscripten_bind_b2JointDef_get_bodyA_0,Ur=e._emscripten_bind_b2Body_GetLinearDamping_0=
i._emscripten_bind_b2Body_GetLinearDamping_0,Vr=e._emscripten_bind_b2WeldJointDef_set_frequencyHz_1=i._emscripten_bind_b2WeldJointDef_set_frequencyHz_1,Wr=e._emscripten_bind_b2Body_ResetMassData_0=i._emscripten_bind_b2Body_ResetMassData_0,Xr=e._emscripten_bind_b2PrismaticJointDef_set_enableMotor_1=i._emscripten_bind_b2PrismaticJointDef_set_enableMotor_1,Yr=e._emscripten_enum_b2JointType_e_wheelJoint=i._emscripten_enum_b2JointType_e_wheelJoint,Zr=e._emscripten_bind_b2Vec2_Skew_0=i._emscripten_bind_b2Vec2_Skew_0,
$r=e._emscripten_bind_b2MouseJoint_GetDampingRatio_0=i._emscripten_bind_b2MouseJoint_GetDampingRatio_0,as=e._emscripten_bind_b2RevoluteJoint_GetAnchorA_0=i._emscripten_bind_b2RevoluteJoint_GetAnchorA_0,bs=e._emscripten_bind_b2ChainShape_set_m_prevVertex_1=i._emscripten_bind_b2ChainShape_set_m_prevVertex_1,cs=e._emscripten_bind_b2WheelJoint_GetAnchorA_0=i._emscripten_bind_b2WheelJoint_GetAnchorA_0,ds=e._emscripten_bind_b2MotorJoint_GetMaxTorque_0=i._emscripten_bind_b2MotorJoint_GetMaxTorque_0,es=e._emscripten_bind_b2FrictionJoint_GetNext_0=
i._emscripten_bind_b2FrictionJoint_GetNext_0,fs=e._emscripten_bind_b2PrismaticJointDef_set_userData_1=i._emscripten_bind_b2PrismaticJointDef_set_userData_1,gs=e._emscripten_bind_b2FrictionJointDef_set_type_1=i._emscripten_bind_b2FrictionJointDef_set_type_1,hs=e._emscripten_bind_b2PrismaticJoint_GetUserData_0=i._emscripten_bind_b2PrismaticJoint_GetUserData_0,is=e._emscripten_bind_b2FrictionJointDef_get_collideConnected_0=i._emscripten_bind_b2FrictionJointDef_get_collideConnected_0,js=e._emscripten_bind_b2Body_GetInertia_0=
i._emscripten_bind_b2Body_GetInertia_0,ks=e._emscripten_bind_b2WeldJointDef_set_referenceAngle_1=i._emscripten_bind_b2WeldJointDef_set_referenceAngle_1,ls=e._emscripten_bind_b2FrictionJoint_GetAnchorA_0=i._emscripten_bind_b2FrictionJoint_GetAnchorA_0,ms=e._emscripten_bind_b2RopeJoint_GetType_0=i._emscripten_bind_b2RopeJoint_GetType_0,ns=e._emscripten_bind_b2MassData_get_I_0=i._emscripten_bind_b2MassData_get_I_0,os=e._emscripten_bind_b2WheelJointDef_get_motorSpeed_0=i._emscripten_bind_b2WheelJointDef_get_motorSpeed_0,
ps=e._emscripten_bind_b2WeldJointDef_get_referenceAngle_0=i._emscripten_bind_b2WeldJointDef_get_referenceAngle_0,qs=e._emscripten_enum_b2JointType_e_ropeJoint=i._emscripten_enum_b2JointType_e_ropeJoint,rs=e._emscripten_bind_b2Filter_set_maskBits_1=i._emscripten_bind_b2Filter_set_maskBits_1,ss=e._emscripten_bind_b2EdgeShape_set_m_radius_1=i._emscripten_bind_b2EdgeShape_set_m_radius_1,ts=e._emscripten_bind_b2MotorJointDef_set_collideConnected_1=i._emscripten_bind_b2MotorJointDef_set_collideConnected_1,
us=e._emscripten_bind_b2Mat22_b2Mat22_2=i._emscripten_bind_b2Mat22_b2Mat22_2,vs=e._emscripten_bind_b2WheelJointDef_set_maxMotorTorque_1=i._emscripten_bind_b2WheelJointDef_set_maxMotorTorque_1,xs=e._emscripten_bind_b2FrictionJointDef_set_bodyB_1=i._emscripten_bind_b2FrictionJointDef_set_bodyB_1,ys=e._emscripten_bind_b2Mat22_b2Mat22_4=i._emscripten_bind_b2Mat22_b2Mat22_4,zs=e._emscripten_bind_b2ChainShape_set_m_hasNextVertex_1=i._emscripten_bind_b2ChainShape_set_m_hasNextVertex_1,As=e._emscripten_bind_b2Mat22_GetInverse_0=
i._emscripten_bind_b2Mat22_GetInverse_0,Bs=e._emscripten_bind_b2PrismaticJoint_EnableMotor_1=i._emscripten_bind_b2PrismaticJoint_EnableMotor_1,Cs=e._emscripten_bind_b2CircleShape_get_m_type_0=i._emscripten_bind_b2CircleShape_get_m_type_0,Ds=e._emscripten_bind_b2DistanceJoint_GetLocalAnchorA_0=i._emscripten_bind_b2DistanceJoint_GetLocalAnchorA_0,Es=e._emscripten_bind_b2ContactEdge_b2ContactEdge_0=i._emscripten_bind_b2ContactEdge_b2ContactEdge_0,Fs=e._emscripten_bind_b2BodyDef___destroy___0=i._emscripten_bind_b2BodyDef___destroy___0,
Gs=e._emscripten_bind_b2FrictionJointDef_set_maxTorque_1=i._emscripten_bind_b2FrictionJointDef_set_maxTorque_1,Hs=e._emscripten_bind_b2PolygonShape_GetVertex_1=i._emscripten_bind_b2PolygonShape_GetVertex_1,Is=e._emscripten_bind_b2PulleyJointDef_set_groundAnchorB_1=i._emscripten_bind_b2PulleyJointDef_set_groundAnchorB_1,Js=e._emscripten_bind_b2RevoluteJointDef_get_collideConnected_0=i._emscripten_bind_b2RevoluteJointDef_get_collideConnected_0,Ks=e._emscripten_bind_b2DistanceJointDef_set_bodyA_1=i._emscripten_bind_b2DistanceJointDef_set_bodyA_1,
Ls=e._emscripten_bind_b2RevoluteJoint_SetLimits_2=i._emscripten_bind_b2RevoluteJoint_SetLimits_2,Ms=e._emscripten_bind_b2WeldJointDef_set_type_1=i._emscripten_bind_b2WeldJointDef_set_type_1,Ns=e._emscripten_bind_b2MotorJointDef___destroy___0=i._emscripten_bind_b2MotorJointDef___destroy___0,Os=e._emscripten_bind_b2FixtureDef_set_density_1=i._emscripten_bind_b2FixtureDef_set_density_1,Ps=e._emscripten_bind_b2Shape_set_m_type_1=i._emscripten_bind_b2Shape_set_m_type_1,Qs=e._emscripten_bind_b2WheelJoint_GetJointTranslation_0=
i._emscripten_bind_b2WheelJoint_GetJointTranslation_0,Rs=e._emscripten_bind_b2WheelJoint_GetMotorTorque_1=i._emscripten_bind_b2WheelJoint_GetMotorTorque_1,Ss=e._emscripten_bind_b2RopeJoint_SetUserData_1=i._emscripten_bind_b2RopeJoint_SetUserData_1,Ts=e._emscripten_bind_b2RopeJointDef___destroy___0=i._emscripten_bind_b2RopeJointDef___destroy___0,Us=e._emscripten_bind_b2WheelJoint_IsActive_0=i._emscripten_bind_b2WheelJoint_IsActive_0,Vs=e._emscripten_bind_b2PrismaticJointDef_get_enableMotor_0=i._emscripten_bind_b2PrismaticJointDef_get_enableMotor_0,
Ws=e._emscripten_bind_b2MotorJointDef_set_bodyB_1=i._emscripten_bind_b2MotorJointDef_set_bodyB_1,Xs=e._emscripten_bind_b2Transform_b2Transform_2=i._emscripten_bind_b2Transform_b2Transform_2,Ys=e._emscripten_bind_b2WeldJoint_GetReactionForce_1=i._emscripten_bind_b2WeldJoint_GetReactionForce_1,Zs=e._emscripten_bind_b2ChainShape_RayCast_4=i._emscripten_bind_b2ChainShape_RayCast_4,$s=e._emscripten_bind_b2PrismaticJoint_GetUpperLimit_0=i._emscripten_bind_b2PrismaticJoint_GetUpperLimit_0,at=e._emscripten_bind_b2ContactID_get_cf_0=
i._emscripten_bind_b2ContactID_get_cf_0,bt=e._emscripten_bind_b2MouseJointDef_set_frequencyHz_1=i._emscripten_bind_b2MouseJointDef_set_frequencyHz_1,ct=e._emscripten_bind_b2ChainShape_get_m_radius_0=i._emscripten_bind_b2ChainShape_get_m_radius_0,dt=e._emscripten_bind_b2Body_GetLinearVelocity_0=i._emscripten_bind_b2Body_GetLinearVelocity_0,et=e._emscripten_bind_b2ChainShape_set_m_radius_1=i._emscripten_bind_b2ChainShape_set_m_radius_1,ft=e._emscripten_bind_b2DistanceJoint_GetReactionTorque_1=i._emscripten_bind_b2DistanceJoint_GetReactionTorque_1,
gt=e._emscripten_bind_b2World_Dump_0=i._emscripten_bind_b2World_Dump_0,ht=e._emscripten_bind_b2RevoluteJoint_GetLocalAnchorB_0=i._emscripten_bind_b2RevoluteJoint_GetLocalAnchorB_0,it=e._emscripten_bind_JSContactFilter_JSContactFilter_0=i._emscripten_bind_JSContactFilter_JSContactFilter_0,jt=e._emscripten_bind_b2Profile_set_solve_1=i._emscripten_bind_b2Profile_set_solve_1,kt=e._emscripten_bind_b2WeldJoint_GetDampingRatio_0=i._emscripten_bind_b2WeldJoint_GetDampingRatio_0,lt=e._emscripten_bind_b2Color_get_b_0=
i._emscripten_bind_b2Color_get_b_0,mt=e._emscripten_bind_b2MouseJointDef_get_userData_0=i._emscripten_bind_b2MouseJointDef_get_userData_0,nt=e._emscripten_bind_b2CircleShape_ComputeAABB_3=i._emscripten_bind_b2CircleShape_ComputeAABB_3,ot=e._emscripten_bind_b2RopeJoint_GetReactionForce_1=i._emscripten_bind_b2RopeJoint_GetReactionForce_1,pt=e._emscripten_bind_b2PrismaticJointDef_get_enableLimit_0=i._emscripten_bind_b2PrismaticJointDef_get_enableLimit_0,qt=e._emscripten_bind_b2ManifoldPoint_set_localPoint_1=
i._emscripten_bind_b2ManifoldPoint_set_localPoint_1,rt=e._emscripten_bind_b2Fixture_GetFilterData_0=i._emscripten_bind_b2Fixture_GetFilterData_0,st=e._emscripten_bind_b2World_GetBodyList_0=i._emscripten_bind_b2World_GetBodyList_0,tt=e._emscripten_bind_b2Shape_ComputeMass_2=i._emscripten_bind_b2Shape_ComputeMass_2,ut=e._emscripten_bind_b2Joint_GetNext_0=i._emscripten_bind_b2Joint_GetNext_0,vt=e._emscripten_bind_b2PrismaticJointDef_get_collideConnected_0=i._emscripten_bind_b2PrismaticJointDef_get_collideConnected_0,
wt=e._emscripten_bind_b2World_RayCast_3=i._emscripten_bind_b2World_RayCast_3,xt=e._emscripten_bind_b2MassData_set_I_1=i._emscripten_bind_b2MassData_set_I_1,yt=e._emscripten_bind_b2MassData___destroy___0=i._emscripten_bind_b2MassData___destroy___0,zt=e._emscripten_bind_b2Profile_get_collide_0=i._emscripten_bind_b2Profile_get_collide_0,At=e._emscripten_bind_b2Color_b2Color_3=i._emscripten_bind_b2Color_b2Color_3,Bt=e._emscripten_bind_b2Color_b2Color_0=i._emscripten_bind_b2Color_b2Color_0,Ct=e._emscripten_bind_b2MouseJoint_GetFrequency_0=
i._emscripten_bind_b2MouseJoint_GetFrequency_0,Dt=e._emscripten_bind_b2WeldJointDef_Initialize_3=i._emscripten_bind_b2WeldJointDef_Initialize_3,Et=e._emscripten_bind_b2Shape_GetChildCount_0=i._emscripten_bind_b2Shape_GetChildCount_0,Ft=e._emscripten_enum_b2JointType_e_gearJoint=i._emscripten_enum_b2JointType_e_gearJoint,Gt=e._emscripten_bind_b2FixtureDef_get_friction_0=i._emscripten_bind_b2FixtureDef_get_friction_0,Ht=e._emscripten_bind_b2PrismaticJointDef_set_localAnchorA_1=i._emscripten_bind_b2PrismaticJointDef_set_localAnchorA_1,
It=e._emscripten_bind_b2Contact_GetManifold_0=i._emscripten_bind_b2Contact_GetManifold_0,Jt=e._emscripten_bind_b2MouseJoint_GetTarget_0=i._emscripten_bind_b2MouseJoint_GetTarget_0,Kt=e._emscripten_bind_b2WeldJointDef_get_localAnchorA_0=i._emscripten_bind_b2WeldJointDef_get_localAnchorA_0,Lt=e._emscripten_bind_b2MouseJoint_SetUserData_1=i._emscripten_bind_b2MouseJoint_SetUserData_1,Mt=e._emscripten_bind_b2JointEdge_get_other_0=i._emscripten_bind_b2JointEdge_get_other_0,Nt=e._emscripten_bind_b2ChainShape_GetChildEdge_2=
i._emscripten_bind_b2ChainShape_GetChildEdge_2,Ot=e._emscripten_bind_b2GearJointDef_set_collideConnected_1=i._emscripten_bind_b2GearJointDef_set_collideConnected_1,Pt=e._emscripten_bind_b2MotorJointDef_get_angularOffset_0=i._emscripten_bind_b2MotorJointDef_get_angularOffset_0,Qt=e._emscripten_bind_b2WheelJoint_SetUserData_1=i._emscripten_bind_b2WheelJoint_SetUserData_1,Rt=e._emscripten_bind_b2Body_ApplyForce_3=i._emscripten_bind_b2Body_ApplyForce_3,St=e._emscripten_bind_b2PrismaticJoint_SetMotorSpeed_1=
i._emscripten_bind_b2PrismaticJoint_SetMotorSpeed_1,Tt=e._emscripten_bind_b2DistanceJoint_GetCollideConnected_0=i._emscripten_bind_b2DistanceJoint_GetCollideConnected_0,Ut=e._emscripten_bind_b2MouseJoint_GetMaxForce_0=i._emscripten_bind_b2MouseJoint_GetMaxForce_0,Vt=e._emscripten_bind_b2World_SetGravity_1=i._emscripten_bind_b2World_SetGravity_1,Wt=e._emscripten_bind_b2Mat22_SetZero_0=i._emscripten_bind_b2Mat22_SetZero_0,Xt=e._emscripten_bind_b2Contact_GetChildIndexA_0=i._emscripten_bind_b2Contact_GetChildIndexA_0,
Yt=e._emscripten_bind_b2Fixture_SetRestitution_1=i._emscripten_bind_b2Fixture_SetRestitution_1,Zt=e._emscripten_bind_b2Body_GetTransform_0=i._emscripten_bind_b2Body_GetTransform_0,$t=e._emscripten_bind_b2ContactEdge___destroy___0=i._emscripten_bind_b2ContactEdge___destroy___0,au=e._emscripten_bind_b2Mat33_set_ex_1=i._emscripten_bind_b2Mat33_set_ex_1,bu=e._emscripten_bind_b2AABB_GetExtents_0=i._emscripten_bind_b2AABB_GetExtents_0,cu=e._emscripten_bind_b2RevoluteJointDef_get_bodyA_0=i._emscripten_bind_b2RevoluteJointDef_get_bodyA_0,
du=e._emscripten_bind_b2PrismaticJoint_GetBodyB_0=i._emscripten_bind_b2PrismaticJoint_GetBodyB_0,eu=e._emscripten_bind_b2WheelJointDef_set_bodyA_1=i._emscripten_bind_b2WheelJointDef_set_bodyA_1,fu=e._emscripten_bind_b2DistanceJointDef_set_collideConnected_1=i._emscripten_bind_b2DistanceJointDef_set_collideConnected_1,gu=e._emscripten_bind_b2BodyDef_get_angle_0=i._emscripten_bind_b2BodyDef_get_angle_0,hu=e._emscripten_bind_b2PulleyJoint_GetReactionTorque_1=i._emscripten_bind_b2PulleyJoint_GetReactionTorque_1,
iu=e._emscripten_bind_b2FixtureDef_get_shape_0=i._emscripten_bind_b2FixtureDef_get_shape_0,ju=e._emscripten_bind_b2WeldJointDef_get_userData_0=i._emscripten_bind_b2WeldJointDef_get_userData_0,ku=e._emscripten_bind_b2FrictionJoint_SetMaxForce_1=i._emscripten_bind_b2FrictionJoint_SetMaxForce_1,lu=e._emscripten_bind_b2Mat33_b2Mat33_3=i._emscripten_bind_b2Mat33_b2Mat33_3,mu=e._emscripten_bind_b2Vec3_get_y_0=i._emscripten_bind_b2Vec3_get_y_0,nu=e._emscripten_bind_b2JointDef_get_type_0=i._emscripten_bind_b2JointDef_get_type_0,
ou=e._emscripten_bind_JSQueryCallback_ReportFixture_1=i._emscripten_bind_JSQueryCallback_ReportFixture_1,pu=e._emscripten_bind_b2Fixture_TestPoint_1=i._emscripten_bind_b2Fixture_TestPoint_1,qu=e._emscripten_bind_b2RevoluteJoint_GetCollideConnected_0=i._emscripten_bind_b2RevoluteJoint_GetCollideConnected_0,ru=e._emscripten_bind_JSDraw_JSDraw_0=i._emscripten_bind_JSDraw_JSDraw_0,su=e._emscripten_bind_b2MouseJoint_GetAnchorA_0=i._emscripten_bind_b2MouseJoint_GetAnchorA_0,tu=e._emscripten_bind_b2Transform_get_p_0=
i._emscripten_bind_b2Transform_get_p_0,uu=e._emscripten_bind_b2EdgeShape_ComputeMass_2=i._emscripten_bind_b2EdgeShape_ComputeMass_2,vu=e._emscripten_bind_b2World_GetProfile_0=i._emscripten_bind_b2World_GetProfile_0,wu=e._emscripten_bind_b2DistanceJointDef___destroy___0=i._emscripten_bind_b2DistanceJointDef___destroy___0,xu=e._emscripten_bind_b2RopeJointDef_set_bodyA_1=i._emscripten_bind_b2RopeJointDef_set_bodyA_1,yu=e._emscripten_bind_b2JointDef_set_type_1=i._emscripten_bind_b2JointDef_set_type_1,
zu=e._emscripten_bind_b2Draw_AppendFlags_1=i._emscripten_bind_b2Draw_AppendFlags_1,Au=e._emscripten_bind_b2MotorJointDef_get_userData_0=i._emscripten_bind_b2MotorJointDef_get_userData_0,Bu=e._emscripten_bind_b2World_GetContactList_0=i._emscripten_bind_b2World_GetContactList_0,Cu=e._emscripten_bind_b2Mat33_set_ez_1=i._emscripten_bind_b2Mat33_set_ez_1,Du=e._emscripten_bind_b2JointEdge_b2JointEdge_0=i._emscripten_bind_b2JointEdge_b2JointEdge_0,Eu=e._emscripten_bind_b2FrictionJointDef_get_bodyA_0=i._emscripten_bind_b2FrictionJointDef_get_bodyA_0,
Fu=e._emscripten_bind_b2WheelJointDef_get_type_0=i._emscripten_bind_b2WheelJointDef_get_type_0,Gu=e._emscripten_bind_b2RevoluteJoint_GetReactionForce_1=i._emscripten_bind_b2RevoluteJoint_GetReactionForce_1,Hu=e._emscripten_bind_b2PulleyJointDef_set_collideConnected_1=i._emscripten_bind_b2PulleyJointDef_set_collideConnected_1,Iu=e._emscripten_bind_b2RopeJoint_GetCollideConnected_0=i._emscripten_bind_b2RopeJoint_GetCollideConnected_0,Ju=e._emscripten_bind_b2GearJointDef_set_joint2_1=i._emscripten_bind_b2GearJointDef_set_joint2_1,
Ku=e._emscripten_bind_b2BodyDef_set_userData_1=i._emscripten_bind_b2BodyDef_set_userData_1,Lu=e._emscripten_bind_b2GearJoint_GetAnchorB_0=i._emscripten_bind_b2GearJoint_GetAnchorB_0,Mu=e._emscripten_bind_b2RopeJoint_IsActive_0=i._emscripten_bind_b2RopeJoint_IsActive_0,Nu=e._emscripten_bind_b2Fixture_GetFriction_0=i._emscripten_bind_b2Fixture_GetFriction_0,Ou=e._emscripten_enum_b2DrawFlag_e_aabbBit=i._emscripten_enum_b2DrawFlag_e_aabbBit,Pu=e._emscripten_bind_b2RevoluteJointDef_Initialize_3=i._emscripten_bind_b2RevoluteJointDef_Initialize_3,
Qu=e._emscripten_bind_b2Body_GetAngle_0=i._emscripten_bind_b2Body_GetAngle_0,Ru=e._emscripten_bind_b2EdgeShape_Set_2=i._emscripten_bind_b2EdgeShape_Set_2,Su=e._emscripten_bind_b2Mat33_SetZero_0=i._emscripten_bind_b2Mat33_SetZero_0,Tu=e._emscripten_bind_b2MotorJointDef_set_maxTorque_1=i._emscripten_bind_b2MotorJointDef_set_maxTorque_1,Uu=e._emscripten_bind_b2PrismaticJointDef_get_localAxisA_0=i._emscripten_bind_b2PrismaticJointDef_get_localAxisA_0,Vu=e._emscripten_bind_b2Mat22_get_ey_0=i._emscripten_bind_b2Mat22_get_ey_0,
Wu=e._emscripten_bind_b2Mat22_SetIdentity_0=i._emscripten_bind_b2Mat22_SetIdentity_0,Xu=e._emscripten_bind_b2Joint_IsActive_0=i._emscripten_bind_b2Joint_IsActive_0,Yu=e._emscripten_bind_b2BodyDef_get_allowSleep_0=i._emscripten_bind_b2BodyDef_get_allowSleep_0,Zu=e._emscripten_bind_b2World_GetTreeHeight_0=i._emscripten_bind_b2World_GetTreeHeight_0,$u=e._emscripten_bind_b2GearJoint_GetJoint2_0=i._emscripten_bind_b2GearJoint_GetJoint2_0,av=e._emscripten_bind_b2EdgeShape_set_m_vertex1_1=i._emscripten_bind_b2EdgeShape_set_m_vertex1_1,
bv=e._emscripten_bind_b2Body_GetWorld_0=i._emscripten_bind_b2Body_GetWorld_0,cv=e._emscripten_enum_b2LimitState_e_inactiveLimit=i._emscripten_enum_b2LimitState_e_inactiveLimit,dv=e._emscripten_bind_b2PulleyJointDef_set_lengthB_1=i._emscripten_bind_b2PulleyJointDef_set_lengthB_1,ev=e._emscripten_bind_b2Body_SetAwake_1=i._emscripten_bind_b2Body_SetAwake_1,fv=e._emscripten_bind_b2PrismaticJointDef_set_upperTranslation_1=i._emscripten_bind_b2PrismaticJointDef_set_upperTranslation_1,gv=e._emscripten_bind_b2Vec2___destroy___0=
i._emscripten_bind_b2Vec2___destroy___0,hv=e._emscripten_bind_b2RayCastInput_set_p1_1=i._emscripten_bind_b2RayCastInput_set_p1_1,iv=e._emscripten_bind_b2Contact_ResetFriction_0=i._emscripten_bind_b2Contact_ResetFriction_0,jv=e._emscripten_bind_b2PulleyJoint_GetAnchorA_0=i._emscripten_bind_b2PulleyJoint_GetAnchorA_0,kv=e._emscripten_bind_b2BodyDef_get_linearVelocity_0=i._emscripten_bind_b2BodyDef_get_linearVelocity_0,lv=e._emscripten_bind_b2DistanceJointDef_get_bodyB_0=i._emscripten_bind_b2DistanceJointDef_get_bodyB_0,
mv=e._emscripten_bind_b2Mat22___destroy___0=i._emscripten_bind_b2Mat22___destroy___0,nv=e._emscripten_bind_b2RevoluteJoint_GetNext_0=i._emscripten_bind_b2RevoluteJoint_GetNext_0,ov=e._emscripten_bind_b2WeldJointDef_get_bodyA_0=i._emscripten_bind_b2WeldJointDef_get_bodyA_0,pv=e._emscripten_bind_b2MotorJoint_GetAnchorB_0=i._emscripten_bind_b2MotorJoint_GetAnchorB_0,qv=e._emscripten_bind_b2Fixture_GetShape_0=i._emscripten_bind_b2Fixture_GetShape_0,rv=e._emscripten_bind_b2PolygonShape_SetAsBox_2=i._emscripten_bind_b2PolygonShape_SetAsBox_2,
sv=e._emscripten_bind_b2Vec3_op_mul_1=i._emscripten_bind_b2Vec3_op_mul_1,tv=e._emscripten_bind_b2PolygonShape_set_m_type_1=i._emscripten_bind_b2PolygonShape_set_m_type_1,uv=e._emscripten_bind_b2WheelJoint_GetType_0=i._emscripten_bind_b2WheelJoint_GetType_0,vv=e._emscripten_bind_b2MotorJoint_GetAngularOffset_0=i._emscripten_bind_b2MotorJoint_GetAngularOffset_0,wv=e._emscripten_bind_b2RevoluteJoint_IsActive_0=i._emscripten_bind_b2RevoluteJoint_IsActive_0,xv=e._emscripten_bind_b2GearJoint_GetNext_0=
i._emscripten_bind_b2GearJoint_GetNext_0,yv=e._emscripten_bind_b2MotorJointDef_get_correctionFactor_0=i._emscripten_bind_b2MotorJointDef_get_correctionFactor_0,zv=e._emscripten_bind_b2Color_Set_3=i._emscripten_bind_b2Color_Set_3,Av=e._emscripten_bind_b2EdgeShape_set_m_type_1=i._emscripten_bind_b2EdgeShape_set_m_type_1,Bv=e._emscripten_bind_b2WheelJoint_GetLocalAxisA_0=i._emscripten_bind_b2WheelJoint_GetLocalAxisA_0,Cv=e._emscripten_bind_b2Body_GetNext_0=i._emscripten_bind_b2Body_GetNext_0,Dv=e._emscripten_bind_b2RopeJoint_GetBodyA_0=
i._emscripten_bind_b2RopeJoint_GetBodyA_0,Ev=e._emscripten_enum_b2JointType_e_unknownJoint=i._emscripten_enum_b2JointType_e_unknownJoint,Fv=e._emscripten_bind_b2ContactFeature_set_indexA_1=i._emscripten_bind_b2ContactFeature_set_indexA_1,Gv=e._emscripten_bind_b2Profile_get_solveInit_0=i._emscripten_bind_b2Profile_get_solveInit_0,Hv=e._emscripten_bind_b2BodyDef_set_angularDamping_1=i._emscripten_bind_b2BodyDef_set_angularDamping_1,Iv=e._emscripten_bind_b2FrictionJoint_GetAnchorB_0=i._emscripten_bind_b2FrictionJoint_GetAnchorB_0,
Jv=e._emscripten_bind_b2World_QueryAABB_2=i._emscripten_bind_b2World_QueryAABB_2,Kv=e._emscripten_bind_b2BodyDef_get_userData_0=i._emscripten_bind_b2BodyDef_get_userData_0,Lv=e._emscripten_bind_b2ContactID_get_key_0=i._emscripten_bind_b2ContactID_get_key_0,Mv=e._emscripten_bind_b2Body_SetAngularVelocity_1=i._emscripten_bind_b2Body_SetAngularVelocity_1,Nv=e._emscripten_bind_b2WheelJointDef_get_userData_0=i._emscripten_bind_b2WheelJointDef_get_userData_0,Ov=e._emscripten_bind_b2RevoluteJoint_IsLimitEnabled_0=
i._emscripten_bind_b2RevoluteJoint_IsLimitEnabled_0,Pv=e._emscripten_bind_b2DistanceJoint_GetBodyB_0=i._emscripten_bind_b2DistanceJoint_GetBodyB_0,Qv=e._emscripten_bind_b2RevoluteJointDef_set_maxMotorTorque_1=i._emscripten_bind_b2RevoluteJointDef_set_maxMotorTorque_1,Rv=e._emscripten_bind_b2WeldJointDef_set_bodyB_1=i._emscripten_bind_b2WeldJointDef_set_bodyB_1,Sv=e._emscripten_bind_b2RevoluteJoint_SetUserData_1=i._emscripten_bind_b2RevoluteJoint_SetUserData_1,Tv=e._emscripten_bind_b2DistanceJoint_SetLength_1=
i._emscripten_bind_b2DistanceJoint_SetLength_1,Uv=e._emscripten_bind_b2JointEdge_get_joint_0=i._emscripten_bind_b2JointEdge_get_joint_0,Vv=e._emscripten_bind_b2Body_GetLocalCenter_0=i._emscripten_bind_b2Body_GetLocalCenter_0,Wv=e._emscripten_bind_b2FixtureDef___destroy___0=i._emscripten_bind_b2FixtureDef___destroy___0,Xv=e._emscripten_bind_b2FixtureDef_set_shape_1=i._emscripten_bind_b2FixtureDef_set_shape_1,Yv=e._emscripten_bind_b2WeldJoint_GetAnchorA_0=i._emscripten_bind_b2WeldJoint_GetAnchorA_0,
Zv=e._emscripten_bind_b2Profile_get_solveVelocity_0=i._emscripten_bind_b2Profile_get_solveVelocity_0,$v=e._emscripten_bind_b2WeldJointDef_get_bodyB_0=i._emscripten_bind_b2WeldJointDef_get_bodyB_0,aw=e._emscripten_bind_b2Body_SetAngularDamping_1=i._emscripten_bind_b2Body_SetAngularDamping_1,bw=e._emscripten_bind_b2PulleyJointDef_Initialize_7=i._emscripten_bind_b2PulleyJointDef_Initialize_7,cw=e._emscripten_bind_b2GearJointDef_set_bodyB_1=i._emscripten_bind_b2GearJointDef_set_bodyB_1,dw=e._emscripten_bind_b2RopeJoint_GetReactionTorque_1=
i._emscripten_bind_b2RopeJoint_GetReactionTorque_1,ew=e._emscripten_bind_b2Mat22_set_ex_1=i._emscripten_bind_b2Mat22_set_ex_1,fw=e._emscripten_bind_b2GearJoint_GetType_0=i._emscripten_bind_b2GearJoint_GetType_0,gw=e._emscripten_enum_b2DrawFlag_e_centerOfMassBit=i._emscripten_enum_b2DrawFlag_e_centerOfMassBit,hw=e._emscripten_bind_b2ChainShape_b2ChainShape_0=i._emscripten_bind_b2ChainShape_b2ChainShape_0,iw=e._emscripten_bind_b2RevoluteJoint_SetMaxMotorTorque_1=i._emscripten_bind_b2RevoluteJoint_SetMaxMotorTorque_1,
jw=e._emscripten_bind_b2RopeJointDef_set_localAnchorB_1=i._emscripten_bind_b2RopeJointDef_set_localAnchorB_1,kw=e._emscripten_bind_b2FrictionJointDef_Initialize_3=i._emscripten_bind_b2FrictionJointDef_Initialize_3,lw=e._emscripten_bind_b2GearJointDef_set_userData_1=i._emscripten_bind_b2GearJointDef_set_userData_1,mw=e._emscripten_bind_b2ChainShape_CreateLoop_2=i._emscripten_bind_b2ChainShape_CreateLoop_2,nw=e._emscripten_bind_b2EdgeShape_get_m_radius_0=i._emscripten_bind_b2EdgeShape_get_m_radius_0,
ow=e._emscripten_bind_b2Contact_GetFixtureB_0=i._emscripten_bind_b2Contact_GetFixtureB_0,pw=e._emscripten_bind_b2ChainShape_ComputeMass_2=i._emscripten_bind_b2ChainShape_ComputeMass_2,qw=e._emscripten_bind_b2Vec2_set_y_1=i._emscripten_bind_b2Vec2_set_y_1,rw=e._emscripten_bind_b2PrismaticJoint_IsLimitEnabled_0=i._emscripten_bind_b2PrismaticJoint_IsLimitEnabled_0,sw=e._emscripten_bind_b2RopeJointDef_get_bodyB_0=i._emscripten_bind_b2RopeJointDef_get_bodyB_0,tw=e._emscripten_bind_b2BodyDef_b2BodyDef_0=
i._emscripten_bind_b2BodyDef_b2BodyDef_0,uw=e._emscripten_bind_b2MassData_get_mass_0=i._emscripten_bind_b2MassData_get_mass_0,vw=e._emscripten_bind_b2WheelJoint___destroy___0=i._emscripten_bind_b2WheelJoint___destroy___0,ww=e._emscripten_bind_b2Joint_GetBodyB_0=i._emscripten_bind_b2Joint_GetBodyB_0,xw=e._emscripten_bind_b2MouseJointDef_set_collideConnected_1=i._emscripten_bind_b2MouseJointDef_set_collideConnected_1,yw=e._emscripten_bind_b2WheelJointDef_set_localAxisA_1=i._emscripten_bind_b2WheelJointDef_set_localAxisA_1,
zw=e._emscripten_bind_b2Joint_Dump_0=i._emscripten_bind_b2Joint_Dump_0,Aw=e._emscripten_bind_b2WheelJointDef_b2WheelJointDef_0=i._emscripten_bind_b2WheelJointDef_b2WheelJointDef_0,Bw=e._emscripten_bind_b2RevoluteJointDef_set_motorSpeed_1=i._emscripten_bind_b2RevoluteJointDef_set_motorSpeed_1,Cw=e._emscripten_bind_b2MotorJointDef_get_bodyA_0=i._emscripten_bind_b2MotorJointDef_get_bodyA_0,Dw=e._emscripten_bind_b2WheelJointDef_get_enableMotor_0=i._emscripten_bind_b2WheelJointDef_get_enableMotor_0,Ew=
e._emscripten_bind_b2Vec2_LengthSquared_0=i._emscripten_bind_b2Vec2_LengthSquared_0,Fw=e._emscripten_bind_b2FrictionJointDef_set_bodyA_1=i._emscripten_bind_b2FrictionJointDef_set_bodyA_1,Gw=e._emscripten_bind_b2WheelJoint_GetSpringFrequencyHz_0=i._emscripten_bind_b2WheelJoint_GetSpringFrequencyHz_0,Hw=e._emscripten_bind_b2ContactFeature_get_indexB_0=i._emscripten_bind_b2ContactFeature_get_indexB_0,Iw=e._emscripten_bind_b2Body_GetJointList_0=i._emscripten_bind_b2Body_GetJointList_0,Jw=e._emscripten_bind_b2FrictionJoint_GetBodyA_0=
i._emscripten_bind_b2FrictionJoint_GetBodyA_0,Kw=e._emscripten_bind_b2WheelJointDef_set_localAnchorB_1=i._emscripten_bind_b2WheelJointDef_set_localAnchorB_1,Lw=e._emscripten_bind_b2DistanceJointDef_set_localAnchorA_1=i._emscripten_bind_b2DistanceJointDef_set_localAnchorA_1,Mw=e._emscripten_bind_b2PrismaticJointDef_get_maxMotorForce_0=i._emscripten_bind_b2PrismaticJointDef_get_maxMotorForce_0,Nw=e._emscripten_bind_b2Body_SetUserData_1=i._emscripten_bind_b2Body_SetUserData_1,Ow=e._emscripten_bind_b2DistanceJoint_GetUserData_0=
i._emscripten_bind_b2DistanceJoint_GetUserData_0,Pw=e._emscripten_bind_b2PulleyJointDef_set_bodyA_1=i._emscripten_bind_b2PulleyJointDef_set_bodyA_1,Qw=e._emscripten_bind_b2Joint_GetType_0=i._emscripten_bind_b2Joint_GetType_0,Rw=e._emscripten_bind_b2Manifold_get_pointCount_0=i._emscripten_bind_b2Manifold_get_pointCount_0,Sw=e._emscripten_bind_b2Mat33_get_ez_0=i._emscripten_bind_b2Mat33_get_ez_0,Tw=e._emscripten_bind_b2DestructionListenerWrapper___destroy___0=i._emscripten_bind_b2DestructionListenerWrapper___destroy___0,
Uw=e._emscripten_bind_b2WheelJointDef_get_bodyA_0=i._emscripten_bind_b2WheelJointDef_get_bodyA_0,Vw=e._emscripten_enum_b2LimitState_e_atUpperLimit=i._emscripten_enum_b2LimitState_e_atUpperLimit,Ww=e._emscripten_bind_b2PulleyJointDef_set_groundAnchorA_1=i._emscripten_bind_b2PulleyJointDef_set_groundAnchorA_1,Xw=e._emscripten_bind_b2MouseJointDef_get_type_0=i._emscripten_bind_b2MouseJointDef_get_type_0,Yw=e._emscripten_bind_b2PrismaticJoint_SetMaxMotorForce_1=i._emscripten_bind_b2PrismaticJoint_SetMaxMotorForce_1,
Zw=e._emscripten_bind_b2PulleyJointDef_get_collideConnected_0=i._emscripten_bind_b2PulleyJointDef_get_collideConnected_0,$w=e._emscripten_bind_b2RopeJoint_SetMaxLength_1=i._emscripten_bind_b2RopeJoint_SetMaxLength_1,ax=e._emscripten_bind_b2Joint_SetUserData_1=i._emscripten_bind_b2Joint_SetUserData_1,bx=e._emscripten_bind_b2PolygonShape_set_m_radius_1=i._emscripten_bind_b2PolygonShape_set_m_radius_1,cx=e._emscripten_bind_b2Vec2_get_x_0=i._emscripten_bind_b2Vec2_get_x_0,dx=e._emscripten_bind_JSContactListener_JSContactListener_0=
i._emscripten_bind_JSContactListener_JSContactListener_0;e.runPostSets=i.runPostSets;e.dynCall_iiii=i.dynCall_iiii;e.dynCall_viiiii=i.dynCall_viiiii;e.dynCall_did=i.dynCall_did;e.dynCall_vi=i.dynCall_vi;e.dynCall_diiiid=i.dynCall_diiiid;e.dynCall_vii=i.dynCall_vii;e.dynCall_viidii=i.dynCall_viidii;e.dynCall_ii=i.dynCall_ii;e.dynCall_viidi=i.dynCall_viidi;e.dynCall_viii=i.dynCall_viii;e.dynCall_v=i.dynCall_v;e.dynCall_viid=i.dynCall_viid;e.dynCall_viiiiii=i.dynCall_viiiiii;e.dynCall_iii=i.dynCall_iii;
e.dynCall_iiiiii=i.dynCall_iiiiii;e.dynCall_viiii=i.dynCall_viiii;h.u=i.stackAlloc;h.A=i.stackSave;h.J=i.stackRestore;h.ga=i.setTempRet0;h.aa=i.getTempRet0;var jc=ba;if(Nb)if("function"===typeof e.locateFile?Nb=e.locateFile(Nb):e.memoryInitializerPrefixURL&&(Nb=e.memoryInitializerPrefixURL+Nb),fa||ja){var ex=e.readBinary(Nb);bb.set(ex,jb)}else Lb(),Browser.oa(Nb,function(a){bb.set(a,jb);Mb()},function(){c("could not load memory initializer "+Nb)});
function na(a){this.name="ExitStatus";this.message="Program terminated with exit("+a+")";this.status=a}na.prototype=Error();var fx,gx=ba,Kb=function hx(){!e.calledRun&&ix&&jx();e.calledRun||(Kb=hx)};
e.callMain=e.pa=function(a){function b(){for(var a=0;3>a;a++)g.push(0)}oa(0==Ib,"cannot call main when async dependencies remain! (listen on __ATMAIN__)");oa(0==rb.length,"cannot call main when preRun functions remain to be called");a=a||[];wb||(wb=aa,qb(sb));var f=a.length+1,g=[$a(Ab(e.thisProgram),"i8",0)];b();for(var k=0;k= px && px >= x2-0.1) || (x1-0.1 <= px && px <= x2+0.1);
var b2 = (y1+0.1 >= py && py >= y2-0.1) || (y1-0.1 <= py && py <= y2+0.1);
return (b1 && b2) && cr.b2Separator.isOnLine(px, py, x1, y1, x2, y2);
};
cr.b2Separator.isOnLine = function(px, py, x1, y1, x2, y2)
{
if (Math.abs(x2-x1) > 0.1)
{
var a = (y2-y1) / (x2-x1);
var possibleY = a * (px-x1)+y1;
var diff = Math.abs(possibleY-py);
return diff < 0.1;
}
return Math.abs(px-x1) < 0.1;
};
cr.b2Separator.pointsMatch = function(x1, y1, x2, y2)
{
return Math.abs(x2-x1) < 0.1 && Math.abs(y2-y1) < 0.1;
};
cr.b2Separator.Separate = function(verticesVec /*array of b2Vec2*/, objarea)
{
var calced = cr.b2Separator.calcShapes(verticesVec);
var ret = [];
var poly, a, b, c;
var i, len, j, lenj;
var areasum;
for (i = 0, len = calced.length; i < len; i++)
{
a = calced[i];
poly = [];
poly.length = a.length;
areasum = 0;
for (j = 0, lenj = a.length; j < lenj; j++)
{
b = a[j];
c = a[(j + 1) % lenj];
areasum += (b.get_x() * c.get_y() - b.get_y() * c.get_x());
poly[j] = b2Vec2.Get(b.get_x(), b.get_y());
}
areasum = Math.abs(areasum / 2);
if (areasum >= objarea * 0.001)
ret.push(poly);
else
{
for (j = 0, lenj = poly.length; j < lenj; j++)
b2Vec2.Free(poly[j]);
}
}
;
return ret;
};
cr.b2Separator.calcShapes = function(verticesVec /*array of b2Vec2*/)
{
var vec = []; // array of b2Vec2
var i = 0, n = 0, j = 0; // ints
var d = 0, t = 0, dx = 0, dy = 0, minLen = 0; // numbers
var i1 = 0, i2 = 0, i3 = 0; // ints
var p1, p2, p3, v1, v2, v, hitV; // b2Vec2s
var j1 = 0, j2 = 0, k = 0, h = 0; // ints
var vec1 = [], vec2 = []; // array of b2Vec2
var isConvex = false; // boolean
var figsVec = [], queue = []; // Arrays
var pushed = false;
queue.push(verticesVec);
while (queue.length)
{
vec = queue[0];
n = vec.length;
isConvex = true;
for (i = 0; i < n; i++)
{
i1 = i;
i2 = (i < n-1) ? i+1 : i+1-n;
i3 = (i < n-2) ? i+2 : i+2-n;
p1 = vec[i1];
p2 = vec[i2];
p3 = vec[i3];
d = cr.b2Separator.det(p1.get_x(), p1.get_y(), p2.get_x(), p2.get_y(), p3.get_x(), p3.get_y());
if (d < 0)
{
isConvex = false;
minLen = 1e9;
for (j = 0; j < n; j++)
{
if ((j !== i1) && (j !== i2))
{
j1 = j;
j2 = (j= n)
return [];
if (!cr.b2Separator.isOnSegment(v2.get_x(), v2.get_y(), vec[h].get_x(), vec[h].get_y(), p1.get_x(), p1.get_y()))
vec1.push(vec[k]);
break;
}
h = k;
if (k-1 < 0)
k = n-1;
else
k--;
}
vec1.reverse();
h = -1;
k = i2;
while (true)
{
if (k !== j1)
vec2.push(vec[k]);
else
{
if (h < 0 || h >= n)
return [];
if (k === j1 && !cr.b2Separator.isOnSegment(v1.get_x(), v1.get_y(), vec[h].get_x(), vec[h].get_y(), p2.get_x(), p2.get_y()))
vec2.push(vec[k]);
break;
}
h = k;
if (k+1 > n-1)
k = 0;
else
k++;
}
queue.push(vec1, vec2);
queue.shift();
break;
}
}
if (isConvex)
figsVec.push(queue.shift());
}
return figsVec;
};
;
;
cr.behaviors.Physics = function(runtime)
{
this.runtime = runtime;
this.world = new Box2D.b2World(getTempVec2a(0, 10), // gravity
true); // allow sleep
this.worldG = 10;
this.lastUpdateTick = -1;
var listener = new Box2D.JSContactListener();
listener.BeginContact = function (contactPtr) {
var contact = Box2D.wrapPointer(contactPtr, Box2D.b2Contact);
var behA = contact.GetFixtureA().GetBody().c2userdata;
var behB = contact.GetFixtureB().GetBody().c2userdata;
runtime.registerCollision(behA.inst, behB.inst);
};
listener.EndContact = function () {}; // unused
this.world.SetContactListener(listener);
var filter = new Box2D.JSContactFilter();
var self = this;
filter.ShouldCollide = function (fixAPtr, fixBPtr) {
if (self.allCollisionsEnabled)
return true;
var fixtureA = Box2D.wrapPointer(fixAPtr, Box2D.b2Fixture);
var fixtureB = Box2D.wrapPointer(fixBPtr, Box2D.b2Fixture);
var typeA = fixtureA.GetBody().c2userdata.inst.type;
var typeB = fixtureB.GetBody().c2userdata.inst.type;
var s = typeA.extra["Physics_DisabledCollisions"];
if (s && s.contains(typeB))
return false;
s = typeB.extra["Physics_DisabledCollisions"];
if (s && s.contains(typeA))
return false;
return true;
};
this.world.SetContactFilter(filter);
this.steppingMode = 0; // fixed
this.velocityIterations = 8;
this.positionIterations = 3;
this.allCollisionsEnabled = true;
};
(function ()
{
var b2BodyDef = Box2D.b2BodyDef,
b2Body = Box2D.b2Body,
b2FixtureDef = Box2D.b2FixtureDef,
b2Fixture = Box2D.b2Fixture,
b2World = Box2D.b2World,
b2PolygonShape = Box2D.b2PolygonShape,
b2CircleShape = Box2D.b2CircleShape,
b2DistanceJointDef = Box2D.b2DistanceJointDef,
b2RevoluteJointDef = Box2D.b2RevoluteJointDef;
var TILE_FLIPPED_HORIZONTAL = -0x80000000 // note: pretend is a signed int, so negate
var TILE_FLIPPED_VERTICAL = 0x40000000
var TILE_FLIPPED_DIAGONAL = 0x20000000
var TILE_FLAGS_MASK = 0xE0000000
var worldScale = 0.02;
var behaviorProto = cr.behaviors.Physics.prototype;
behaviorProto.Type = function(behavior, objtype)
{
this.behavior = behavior;
this.objtype = objtype;
this.runtime = behavior.runtime;
};
var behtypeProto = behaviorProto.Type.prototype;
behtypeProto.onCreate = function()
{
};
behaviorProto.Instance = function(type, inst)
{
this.type = type;
this.behavior = type.behavior;
this.inst = inst; // associated object instance to modify
this.runtime = type.runtime;
this.world = this.behavior.world;
};
var behinstProto = behaviorProto.Instance.prototype;
behinstProto.onCreate = function()
{
this.immovable = (this.properties[0] !== 0);
this.collisionmask = this.properties[1];
this.preventRotation = (this.properties[2] !== 0);
this.density = this.properties[3];
this.friction = this.properties[4];
this.restitution = this.properties[5];
this.linearDamping = this.properties[6];
this.angularDamping = this.properties[7];
this.bullet = (this.properties[8] !== 0);
this.enabled = (this.properties[9] !== 0);
this.body = null;
this.fixture = null;
this.inst.update_bbox();
this.lastKnownX = this.inst.x;
this.lastKnownY = this.inst.y;
this.lastKnownAngle = this.inst.angle;
this.lastWidth = 0;
this.lastHeight = 0;
this.lastTickOverride = false;
this.recreateBody = false;
this.lastAnimation = null; // for sprites only - will be undefined for other objects
this.lastAnimationFrame = -1; // for sprites only - will be undefined for other objects
if (this.myJoints)
{
cr.clearArray(this.myJoints);
cr.clearArray(this.myCreatedJoints);
this.joiningMe.clear();
}
else
{
this.myJoints = []; // Created Box2D joints
this.myCreatedJoints = []; // List of actions called to create joints
this.joiningMe = new cr.ObjectSet(); // Instances with joints to me
}
var self = this;
if (!this.recycled)
{
this.myDestroyCallback = (function(inst) {
self.onInstanceDestroyed(inst);
});
}
this.runtime.addDestroyCallback(this.myDestroyCallback);
};
behinstProto.postCreate = function ()
{
this.inst.update_bbox();
this.createBody();
this.lastAnimation = this.inst.cur_animation;
this.lastAnimationFrame = this.inst.cur_frame;
};
behinstProto.onDestroy = function()
{
this.destroyBody();
cr.clearArray(this.myCreatedJoints);
this.joiningMe.clear();
this.runtime.removeDestroyCallback(this.myDestroyCallback);
};
behinstProto.saveToJSON = function ()
{
var o = {
"e": this.enabled,
"im": this.immovable,
"pr": this.preventRotation,
"d": this.density,
"fr": this.friction,
"re": this.restitution,
"ld": this.linearDamping,
"ad": this.angularDamping,
"b": this.bullet,
"mcj": this.myCreatedJoints
};
if (this.enabled)
{
var temp = this.body.GetLinearVelocity();
o["vx"] = temp.get_x();
o["vy"] = temp.get_y();
o["om"] = this.body.GetAngularVelocity();
}
return o;
};
behinstProto.loadFromJSON = function (o)
{
this.destroyBody();
cr.clearArray(this.myCreatedJoints);
this.joiningMe.clear();
this.enabled = o["e"];
this.immovable = o["im"];
this.preventRotation = o["pr"];
this.density = o["d"];
this.friction = o["fr"];
this.restitution = o["re"];
this.linearDamping = o["ld"];
this.angularDamping = o["ad"];
this.bullet = o["b"];
this.lastKnownX = this.inst.x;
this.lastKnownY = this.inst.y;
this.lastKnownAngle = this.inst.angle;
this.lastWidth = this.inst.width;
this.lastHeight = this.inst.height;
if (this.enabled)
{
this.createBody();
this.body.SetLinearVelocity(getTempVec2a(o["vx"], o["vy"]));
this.body.SetAngularVelocity(o["om"]);
if (o["vx"] !== 0 || o["vy"] !== 0 || o["om"] !== 0)
this.body.SetAwake(true);
this.myCreatedJoints = o["mcj"];
}
};
behinstProto.afterLoad = function ()
{
if (this.enabled)
this.recreateMyJoints();
};
behinstProto.onInstanceDestroyed = function (inst)
{
var i, len, j, instuid = inst.uid;
for (i = 0, j = 0, len = this.myCreatedJoints.length; i < len; i++)
{
this.myCreatedJoints[j] = this.myCreatedJoints[i];
if (j < this.myJoints.length)
this.myJoints[j] = this.myJoints[i];
if (this.myCreatedJoints[i].params[1] == instuid) // attached instance is always 2nd param
{
if (i < this.myJoints.length) // myJoints can already be empty in some cases
this.world.DestroyJoint(this.myJoints[i]);
}
else
j++;
}
this.myCreatedJoints.length = j;
if (j < this.myJoints.length)
this.myJoints.length = j;
this.joiningMe.remove(inst);
};
behinstProto.destroyMyJoints = function()
{
var i, len;
for (i = 0, len = this.myJoints.length; i < len; i++)
this.world.DestroyJoint(this.myJoints[i]);
cr.clearArray(this.myJoints);
};
behinstProto.recreateMyJoints = function()
{
var i, len, j;
for (i = 0, len = this.myCreatedJoints.length; i < len; i++)
{
j = this.myCreatedJoints[i];
switch (j.type) {
case 0: // distance joint
this.doCreateDistanceJoint(j.params[0], j.params[1], j.params[2], j.params[3], j.params[4]);
break;
case 1: // revolute joint
this.doCreateRevoluteJoint(j.params[0], j.params[1]);
break;
case 2: // limited revolute joint
this.doCreateLimitedRevoluteJoint(j.params[0], j.params[1], j.params[2], j.params[3]);
break;
default:
;
}
}
};
behinstProto.destroyBody = function()
{
if (!this.body)
return;
this.destroyMyJoints();
if (this.fixture)
{
this.body.DestroyFixture(this.fixture);
this.fixture = null;
}
this.world.DestroyBody(this.body);
this.body = null;
this.inst.extra.box2dbody = null;
};
var collrects = [];
behinstProto.createBody = function()
{
if (!this.enabled)
return;
var inst = this.inst;
inst.update_bbox();
var i, len, j, lenj, k, lenk, vec, arr, b, tv, c, rc, pts_cache, pts_count, convexpolys, cp, offx, offy, oldAngle;
if (!this.body)
{
var bodyDef = new b2BodyDef();
bodyDef.set_type(this.immovable ? 0 : 2); // 0 = b2_staticBody, 2 = b2_dynamicBody
bodyDef.set_position(getTempVec2b(inst.bquad.midX() * worldScale, inst.bquad.midY() * worldScale));
bodyDef.set_angle(inst.angle);
bodyDef.set_fixedRotation(this.preventRotation);
bodyDef.set_linearDamping(this.linearDamping);
bodyDef.set_angularDamping(this.angularDamping);
bodyDef.set_bullet(this.bullet);
this.body = this.world.CreateBody(bodyDef);
this.body.c2userdata = this;
inst.extra.box2dbody = this.body;
Box2D.destroy(bodyDef);
}
if (this.fixture)
{
this.body.DestroyFixture(this.fixture);
this.fixture = null;
}
var fixDef = new b2FixtureDef();
fixDef.set_density(this.density);
fixDef.set_friction(this.friction);
fixDef.set_restitution(this.restitution);
var hasPoly = this.inst.collision_poly && !this.inst.collision_poly.is_empty();
var usecollisionmask = this.collisionmask;
if (!hasPoly && !this.inst.tilemap_exists && this.collisionmask === 0)
usecollisionmask = 1;
var instw = Math.max(Math.abs(inst.width), 1);
var insth = Math.max(Math.abs(inst.height), 1);
var ismirrored = inst.width < 0;
var isflipped = inst.height < 0;
var shape;
if (usecollisionmask === 0)
{
if (inst.tilemap_exists)
{
offx = inst.bquad.midX() - inst.x;
offy = inst.bquad.midY() - inst.y;
inst.getAllCollisionRects(collrects);
arr = [];
for (i = 0, len = collrects.length; i < len; ++i)
{
c = collrects[i];
rc = c.rc;
if (c.poly)
{
if (!c.poly.convexpolys)
{
pts_cache = c.poly.pts_cache;
pts_count = c.poly.pts_count;
for (j = 0; j < pts_count; ++j)
{
arr.push(b2Vec2.Get(pts_cache[j*2], pts_cache[j*2+1]));
}
var flags = (c.id & TILE_FLAGS_MASK);
if (flags === TILE_FLIPPED_HORIZONTAL || flags === TILE_FLIPPED_VERTICAL || flags === TILE_FLIPPED_DIAGONAL ||
((flags & TILE_FLIPPED_HORIZONTAL) && (flags & TILE_FLIPPED_VERTICAL) && (flags & TILE_FLIPPED_DIAGONAL)))
{
arr.reverse();
}
c.poly.convexpolys = cr.b2Separator.Separate(arr, (rc.right - rc.left) * (rc.bottom - rc.top));
for (j = 0, lenj = arr.length; j < lenj; ++j)
b2Vec2.Free(arr[j]);
cr.clearArray(arr);
}
for (j = 0, lenj = c.poly.convexpolys.length; j < lenj; ++j)
{
cp = c.poly.convexpolys[j];
;
for (k = 0, lenk = cp.length; k < lenk; ++k)
{
arr.push(b2Vec2.Get((rc.left + cp[k].get_x() - offx) * worldScale, (rc.top + cp[k].get_y() - offy) * worldScale));
}
shape = createPolygonShape(arr);
fixDef.set_shape(shape);
this.fixture = this.body.CreateFixture(fixDef);
Box2D.destroy(shape);
for (k = 0, lenk = arr.length; k < lenk; ++k)
b2Vec2.Free(arr[k]);
cr.clearArray(arr);
}
}
else
{
arr.push(b2Vec2.Get((rc.left - offx) * worldScale, (rc.top - offy) * worldScale));
arr.push(b2Vec2.Get((rc.right - offx) * worldScale, (rc.top - offy) * worldScale));
arr.push(b2Vec2.Get((rc.right - offx) * worldScale, (rc.bottom - offy) * worldScale));
arr.push(b2Vec2.Get((rc.left - offx) * worldScale, (rc.bottom - offy) * worldScale));
shape = createPolygonShape(arr);
fixDef.set_shape(shape);
this.fixture = this.body.CreateFixture(fixDef);
Box2D.destroy(shape);
}
for (j = 0, lenj = arr.length; j < lenj; ++j)
b2Vec2.Free(arr[j]);
cr.clearArray(arr);
}
}
else
{
oldAngle = inst.angle;
inst.angle = 0;
inst.set_bbox_changed();
inst.update_bbox();
offx = inst.bquad.midX() - inst.x;
offy = inst.bquad.midY() - inst.y;
inst.angle = oldAngle;
inst.set_bbox_changed();
inst.collision_poly.cache_poly(ismirrored ? -instw : instw, isflipped ? -insth : insth, 0);
pts_cache = inst.collision_poly.pts_cache;
pts_count = inst.collision_poly.pts_count;
arr = [];
arr.length = pts_count;
for (i = 0; i < pts_count; i++)
{
arr[i] = b2Vec2.Get(pts_cache[i*2] - offx, pts_cache[i*2+1] - offy);
}
if (ismirrored !== isflipped)
arr.reverse(); // wrong clockwise order when flipped
convexpolys = cr.b2Separator.Separate(arr, instw * insth);
for (i = 0; i < pts_count; i++)
b2Vec2.Free(arr[i]);
if (convexpolys.length)
{
for (i = 0, len = convexpolys.length; i < len; i++)
{
arr = convexpolys[i];
;
for (j = 0, lenj = arr.length; j < lenj; j++)
{
vec = arr[j];
vec.set_x(vec.get_x() * worldScale);
vec.set_y(vec.get_y() * worldScale);
}
shape = createPolygonShape(arr);
fixDef.set_shape(shape);
this.fixture = this.body.CreateFixture(fixDef);
Box2D.destroy(shape);
for (j = 0, lenj = arr.length; j < lenj; j++)
b2Vec2.Free(arr[j]);
}
}
else
{
shape = new b2PolygonShape();
shape.SetAsBox(instw * worldScale * 0.5, insth * worldScale * 0.5);
fixDef.set_shape(shape);
this.fixture = this.body.CreateFixture(fixDef);
Box2D.destroy(shape);
}
}
}
else if (usecollisionmask === 1)
{
shape = new b2PolygonShape();
shape.SetAsBox(instw * worldScale * 0.5, insth * worldScale * 0.5);
fixDef.set_shape(shape);
this.fixture = this.body.CreateFixture(fixDef);
Box2D.destroy(shape);
}
else
{
shape = new b2CircleShape();
shape.set_m_radius(Math.min(instw, insth) * worldScale * 0.5);
fixDef.set_shape(shape);
this.fixture = this.body.CreateFixture(fixDef);
Box2D.destroy(shape);
}
this.lastWidth = inst.width;
this.lastHeight = inst.height;
Box2D.destroy(fixDef);
cr.clearArray(collrects);
};
/*
behinstProto.draw = function (ctx)
{
if (!this.myconvexpolys)
return;
this.inst.update_bbox();
var midx = this.inst.bquad.midX();
var midy = this.inst.bquad.midY();
var i, len, j, lenj;
var sina = 0;
var cosa = 1;
if (this.inst.angle !== 0)
{
sina = Math.sin(this.inst.angle);
cosa = Math.cos(this.inst.angle);
}
var strokeStyles = ["#f00", "#0f0", "#00f", "#ff0", "#0ff", "#f0f"];
ctx.lineWidth = 2;
var i, len, j, lenj, ax, ay, bx, by, poly, va, vb;
for (i = 0, len = this.myconvexpolys.length; i < len; i++)
{
poly = this.myconvexpolys[i];
ctx.strokeStyle = strokeStyles[i];
for (j = 0, lenj = poly.length; j < lenj; j++)
{
va = poly[j];
vb = poly[(j + 1) % lenj];
ax = va.x / worldScale;
ay = va.y / worldScale;
bx = vb.x / worldScale;
by = vb.y / worldScale;
ctx.beginPath();
ctx.moveTo(((ax * cosa) - (ay * sina)) + midx, ((ay * cosa) + (ax * sina)) + midy);
ctx.lineTo(((bx * cosa) - (by * sina)) + midx, ((by * cosa) + (bx * sina)) + midy);
ctx.stroke();
ctx.closePath();
}
}
};
*/
behinstProto.tick = function ()
{
if (!this.enabled)
return;
var inst = this.inst;
var dt;
if (this.behavior.steppingMode === 0) // fixed
{
dt = this.runtime.timescale / 60;
}
else
{
dt = this.runtime.getDt(this.inst);
if (dt > 1 / 30)
dt = 1 / 30;
}
if (this.runtime.tickcount_nosave > this.behavior.lastUpdateTick && this.runtime.timescale > 0)
{
if (dt !== 0)
{
this.world.Step(dt, this.behavior.velocityIterations, this.behavior.positionIterations); // still apply timescale
}
this.world.ClearForces();
this.behavior.lastUpdateTick = this.runtime.tickcount_nosave;
}
if (this.recreateBody || inst.width !== this.lastWidth || inst.height !== this.lastHeight
|| inst.cur_animation !== this.lastAnimation || inst.cur_frame !== this.lastAnimationFrame
|| (inst.tilemap_exists && inst.physics_changed))
{
this.createBody();
this.recreateBody = false;
this.lastAnimation = inst.cur_animation;
this.lastAnimationFrame = inst.cur_frame;
if (inst.tilemap_exists && inst.physics_changed)
inst.physics_changed = false;
}
var pos_changed = (inst.x !== this.lastKnownX || inst.y !== this.lastKnownY);
var angle_changed = (inst.angle !== this.lastKnownAngle);
if (pos_changed)
{
inst.update_bbox();
var newmidx = inst.bquad.midX();
var newmidy = inst.bquad.midY();
var diffx = newmidx - this.lastKnownX;
var diffy = newmidy - this.lastKnownY;
if (angle_changed)
this.body.SetTransform(getTempVec2a(newmidx * worldScale, newmidy * worldScale), inst.angle);
else
this.body.SetTransform(getTempVec2a(newmidx * worldScale, newmidy * worldScale), this.body.GetAngle());
this.body.SetLinearVelocity(getTempVec2a(diffx, diffy));
this.lastTickOverride = true;
this.body.SetAwake(true);
}
else if (this.lastTickOverride)
{
this.lastTickOverride = false;
this.body.SetLinearVelocity(getTempVec2a(0, 0));
this.body.SetTransform(getTempVec2a(inst.bquad.midX() * worldScale, inst.bquad.midY() * worldScale), this.body.GetAngle());
}
if (!pos_changed && angle_changed)
{
this.body.SetTransform(this.body.GetPosition(), inst.angle);
this.body.SetAwake(true);
}
var pos = this.body.GetPosition();
var newx = pos.get_x() / worldScale;
var newy = pos.get_y() / worldScale;
var newangle = this.body.GetAngle();
if (newx !== inst.x || newy !== inst.y || newangle !== inst.angle)
{
inst.x = newx;
inst.y = newy;
inst.angle = newangle;
inst.set_bbox_changed();
inst.update_bbox();
var dx = inst.bquad.midX() - inst.x;
var dy = inst.bquad.midY() - inst.y;
if (dx !== 0 || dy !== 0)
{
inst.x -= dx;
inst.y -= dy;
inst.set_bbox_changed();
}
}
this.lastKnownX = inst.x;
this.lastKnownY = inst.y;
this.lastKnownAngle = inst.angle;
};
behinstProto.getInstImgPointX = function(imgpt)
{
if (imgpt === -1 || !this.inst.getImagePoint)
return this.inst.x;
if (imgpt === 0 && this.body)
return (this.body.GetPosition().get_x() + this.body.GetLocalCenter().get_x()) / worldScale;
return this.inst.getImagePoint(imgpt, true);
};
behinstProto.getInstImgPointY = function(imgpt)
{
if (imgpt === -1 || !this.inst.getImagePoint)
return this.inst.y;
if (imgpt === 0 && this.body)
return (this.body.GetPosition().get_y() + this.body.GetLocalCenter().get_y()) / worldScale;
return this.inst.getImagePoint(imgpt, false);
};
function Cnds() {};
Cnds.prototype.IsSleeping = function ()
{
if (!this.enabled)
return false;
return !this.body.IsAwake();
};
Cnds.prototype.CompareVelocity = function (which_, cmp_, x_)
{
if (!this.enabled)
return false;
var velocity_vec = this.body.GetLinearVelocity();
var v, vx, vy;
if (which_ === 0) // X velocity
v = velocity_vec.get_x() / worldScale;
else if (which_ === 1) // Y velocity
v = velocity_vec.get_y() / worldScale;
else // Overall velocity
{
vx = velocity_vec.get_x() / worldScale;
vy = velocity_vec.get_y() / worldScale;
v = cr.distanceTo(0, 0, vx, vy);
}
return cr.do_cmp(v, cmp_, x_);
};
Cnds.prototype.CompareAngularVelocity = function (cmp_, x_)
{
if (!this.enabled)
return false;
var av = cr.to_degrees(this.body.GetAngularVelocity());
return cr.do_cmp(av, cmp_, x_);
};
Cnds.prototype.CompareMass = function (cmp_, x_)
{
if (!this.enabled)
return false;
var mass = this.body.GetMass() / worldScale;
return cr.do_cmp(mass, cmp_, x_);
};
Cnds.prototype.IsEnabled = function ()
{
return this.enabled;
};
behaviorProto.cnds = new Cnds();
function Acts() {};
Acts.prototype.ApplyForce = function (fx, fy, imgpt)
{
if (!this.enabled)
return;
var x = this.getInstImgPointX(imgpt);
var y = this.getInstImgPointY(imgpt);
this.body.ApplyForce(getTempVec2a(fx, fy), getTempVec2b(x * worldScale, y * worldScale), true);
};
Acts.prototype.ApplyForceToward = function (f, px, py, imgpt)
{
if (!this.enabled)
return;
var x = this.getInstImgPointX(imgpt);
var y = this.getInstImgPointY(imgpt);
var a = cr.angleTo(x, y, px, py);
this.body.ApplyForce(getTempVec2a(Math.cos(a) * f, Math.sin(a) * f), getTempVec2b(x * worldScale, y * worldScale), true);
};
Acts.prototype.ApplyForceAtAngle = function (f, a, imgpt)
{
if (!this.enabled)
return;
a = cr.to_radians(a);
var x = this.getInstImgPointX(imgpt);
var y = this.getInstImgPointY(imgpt);
this.body.ApplyForce(getTempVec2a(Math.cos(a) * f, Math.sin(a) * f), getTempVec2b(x * worldScale, y * worldScale), true);
};
Acts.prototype.ApplyImpulse = function (fx, fy, imgpt)
{
if (!this.enabled)
return;
var x = this.getInstImgPointX(imgpt);
var y = this.getInstImgPointY(imgpt);
this.body.ApplyLinearImpulse(getTempVec2a(fx, fy), getTempVec2b(x * worldScale, y * worldScale), true);
this.lastTickOverride = false;
this.lastKnownX = this.inst.x;
this.lastKnownY = this.inst.y;
};
Acts.prototype.ApplyImpulseToward = function (f, px, py, imgpt)
{
if (!this.enabled)
return;
var x = this.getInstImgPointX(imgpt);
var y = this.getInstImgPointY(imgpt);
var a = cr.angleTo(x, y, px, py);
this.body.ApplyLinearImpulse(getTempVec2a(Math.cos(a) * f, Math.sin(a) * f), getTempVec2b(x * worldScale, y * worldScale), true);
this.lastTickOverride = false;
this.lastKnownX = this.inst.x;
this.lastKnownY = this.inst.y;
};
Acts.prototype.ApplyImpulseAtAngle = function (f, a, imgpt)
{
if (!this.enabled)
return;
a = cr.to_radians(a);
var x = this.getInstImgPointX(imgpt);
var y = this.getInstImgPointY(imgpt);
this.body.ApplyLinearImpulse(getTempVec2a(Math.cos(a) * f, Math.sin(a) * f), getTempVec2b(x * worldScale, y * worldScale), true);
this.lastTickOverride = false;
this.lastKnownX = this.inst.x;
this.lastKnownY = this.inst.y;
};
Acts.prototype.ApplyTorque = function (m)
{
if (!this.enabled)
return;
this.body.ApplyTorque(cr.to_radians(m), true);
};
Acts.prototype.ApplyTorqueToAngle = function (m, a)
{
if (!this.enabled)
return;
m = cr.to_radians(m);
a = cr.to_radians(a);
if (cr.angleClockwise(this.inst.angle, a))
this.body.ApplyTorque(-m, true);
else
this.body.ApplyTorque(m, true);
};
Acts.prototype.ApplyTorqueToPosition = function (m, x, y)
{
if (!this.enabled)
return;
m = cr.to_radians(m);
var a = cr.angleTo(this.inst.x, this.inst.y, x, y);
if (cr.angleClockwise(this.inst.angle, a))
this.body.ApplyTorque(-m, true);
else
this.body.ApplyTorque(m, true);
};
Acts.prototype.SetAngularVelocity = function (v)
{
if (!this.enabled)
return;
this.body.SetAngularVelocity(cr.to_radians(v));
this.body.SetAwake(true);
};
Acts.prototype.CreateDistanceJoint = function (imgpt, obj, objimgpt, damping, freq)
{
if (!obj || !this.enabled)
return;
var otherinst = obj.getFirstPicked(this.inst);
if (!otherinst || otherinst == this.inst)
return;
if (!otherinst.extra.box2dbody)
return; // no physics behavior on other object
this.myCreatedJoints.push({type: 0, params: [imgpt, otherinst.uid, objimgpt, damping, freq]});
this.doCreateDistanceJoint(imgpt, otherinst.uid, objimgpt, damping, freq);
};
behinstProto.doCreateDistanceJoint = function (imgpt, otherinstuid, objimgpt, damping, freq)
{
if (!this.enabled)
return;
var otherinst = this.runtime.getObjectByUID(otherinstuid);
if (!otherinst || otherinst == this.inst || !otherinst.extra.box2dbody)
return;
otherinst.extra.box2dbody.c2userdata.joiningMe.add(this.inst);
var myx = this.getInstImgPointX(imgpt);
var myy = this.getInstImgPointY(imgpt);
var theirx, theiry;
if (otherinst.getImagePoint)
{
theirx = otherinst.getImagePoint(objimgpt, true);
theiry = otherinst.getImagePoint(objimgpt, false);
}
else
{
theirx = otherinst.x;
theiry = otherinst.y;
}
var dx = myx - theirx;
var dy = myy - theiry;
var jointDef = new b2DistanceJointDef();
jointDef.Initialize(this.body, otherinst.extra.box2dbody, getTempVec2a(myx * worldScale, myy * worldScale), getTempVec2b(theirx * worldScale, theiry * worldScale));
jointDef.set_length(Math.sqrt(dx*dx + dy*dy) * worldScale);
jointDef.set_dampingRatio(damping);
jointDef.set_frequencyHz(freq);
this.myJoints.push(this.world.CreateJoint(jointDef));
Box2D.destroy(jointDef);
};
Acts.prototype.CreateRevoluteJoint = function (imgpt, obj)
{
if (!obj || !this.enabled)
return;
var otherinst = obj.getFirstPicked(this.inst);
if (!otherinst || otherinst == this.inst)
return;
if (!otherinst.extra.box2dbody)
return; // no physics behavior on other object
this.myCreatedJoints.push({type: 1, params: [imgpt, otherinst.uid]});
this.doCreateRevoluteJoint(imgpt, otherinst.uid);
};
behinstProto.doCreateRevoluteJoint = function (imgpt, otherinstuid)
{
if (!this.enabled)
return;
var otherinst = this.runtime.getObjectByUID(otherinstuid);
if (!otherinst || otherinst == this.inst || !otherinst.extra.box2dbody)
return;
otherinst.extra.box2dbody.c2userdata.joiningMe.add(this.inst);
var myx = this.getInstImgPointX(imgpt);
var myy = this.getInstImgPointY(imgpt);
var jointDef = new b2RevoluteJointDef();
jointDef.Initialize(this.body, otherinst.extra.box2dbody, getTempVec2a(myx * worldScale, myy * worldScale));
this.myJoints.push(this.world.CreateJoint(jointDef));
Box2D.destroy(jointDef);
};
Acts.prototype.CreateLimitedRevoluteJoint = function (imgpt, obj, lower, upper)
{
if (!obj || !this.enabled)
return;
var otherinst = obj.getFirstPicked(this.inst);
if (!otherinst || otherinst == this.inst)
return;
if (!otherinst.extra.box2dbody)
return; // no physics behavior on other object
this.myCreatedJoints.push({type: 2, params: [imgpt, otherinst.uid, lower, upper]});
this.doCreateLimitedRevoluteJoint(imgpt, otherinst.uid, lower, upper);
};
behinstProto.doCreateLimitedRevoluteJoint = function (imgpt, otherinstuid, lower, upper)
{
if (!this.enabled)
return;
var otherinst = this.runtime.getObjectByUID(otherinstuid);
if (!otherinst || otherinst == this.inst || !otherinst.extra.box2dbody)
return;
otherinst.extra.box2dbody.c2userdata.joiningMe.add(this.inst);
var myx = this.getInstImgPointX(imgpt);
var myy = this.getInstImgPointY(imgpt);
var jointDef = new b2RevoluteJointDef();
jointDef.Initialize(this.body, otherinst.extra.box2dbody, getTempVec2a(myx * worldScale, myy * worldScale));
jointDef.set_enableLimit(true);
jointDef.set_lowerAngle(cr.to_radians(lower));
jointDef.set_upperAngle(cr.to_radians(upper));
this.myJoints.push(this.world.CreateJoint(jointDef));
Box2D.destroy(jointDef);
};
Acts.prototype.SetWorldGravity = function (g)
{
if (g === this.behavior.worldG)
return;
this.world.SetGravity(getTempVec2a(0, g));
this.behavior.worldG = g;
var i, len, arr = this.behavior.my_instances.valuesRef();
for (i = 0, len = arr.length; i < len; i++)
{
if (arr[i].extra.box2dbody)
arr[i].extra.box2dbody.SetAwake(true);
}
};
Acts.prototype.SetSteppingMode = function (mode)
{
this.behavior.steppingMode = mode;
};
Acts.prototype.SetIterations = function (vel, pos)
{
if (vel < 1) vel = 1;
if (pos < 1) pos = 1;
this.behavior.velocityIterations = vel;
this.behavior.positionIterations = pos;
};
Acts.prototype.SetVelocity = function (vx, vy)
{
if (!this.enabled)
return;
this.body.SetLinearVelocity(getTempVec2a(vx * worldScale, vy * worldScale));
this.body.SetAwake(true);
this.lastTickOverride = false;
this.lastKnownX = this.inst.x;
this.lastKnownY = this.inst.y;
};
Acts.prototype.SetDensity = function (d)
{
if (!this.enabled)
return;
if (this.density === d)
return;
this.density = d;
this.fixture.SetDensity(d);
this.body.ResetMassData();
};
Acts.prototype.SetFriction = function (f)
{
if (!this.enabled)
return;
if (this.friction === f)
return;
this.friction = f;
this.fixture.SetFriction(f);
var contactEdge, contact;
for (contactEdge = this.body.GetContactList(); Box2D.getPointer(contactEdge); contactEdge = contactEdge.get_next())
{
var contact = contactEdge.get_contact();
if (contact)
contact.ResetFriction();
}
};
Acts.prototype.SetElasticity = function (e)
{
if (!this.enabled)
return;
if (this.restitution === e)
return;
this.restitution = e;
this.fixture.SetRestitution(e);
};
Acts.prototype.SetLinearDamping = function (ld)
{
if (!this.enabled)
return;
if (this.linearDamping === ld)
return;
this.linearDamping = ld;
this.body.SetLinearDamping(ld);
};
Acts.prototype.SetAngularDamping = function (ad)
{
if (!this.enabled)
return;
if (this.angularDamping === ad)
return;
this.angularDamping = ad;
this.body.SetAngularDamping(ad);
};
Acts.prototype.SetImmovable = function (i)
{
if (!this.enabled)
return;
if (this.immovable === (i !== 0))
return;
this.immovable = (i !== 0);
this.body.SetType(this.immovable ? 0 /*b2BodyDef.b2_staticBody*/ : 2 /*b2BodyDef.b2_dynamicBody*/);
this.body.SetAwake(true);
};
function SetCollisionsEnabled(typeA, typeB, state)
{
var s;
if (state)
{
s = typeA.extra["Physics_DisabledCollisions"];
if (s)
s.remove(typeB);
s = typeB.extra["Physics_DisabledCollisions"];
if (s)
s.remove(typeA);
}
else
{
if (!typeA.extra["Physics_DisabledCollisions"])
typeA.extra["Physics_DisabledCollisions"] = new cr.ObjectSet();
typeA.extra["Physics_DisabledCollisions"].add(typeB);
if (!typeB.extra["Physics_DisabledCollisions"])
typeB.extra["Physics_DisabledCollisions"] = new cr.ObjectSet();
typeB.extra["Physics_DisabledCollisions"].add(typeA);
}
};
Acts.prototype.EnableCollisions = function (obj, state)
{
if (!obj || !this.enabled)
return;
var i, len;
if (obj.is_family)
{
for (i = 0, len = obj.members.length; i < len; i++)
{
SetCollisionsEnabled(this.inst.type, obj.members[i], state !== 0);
}
}
else
{
SetCollisionsEnabled(this.inst.type, obj, state !== 0);
}
this.behavior.allCollisionsEnabled = false;
};
Acts.prototype.SetPreventRotate = function (i)
{
if (!this.enabled)
return;
if (this.preventRotation === (i !== 0))
return;
this.preventRotation = (i !== 0);
this.body.SetFixedRotation(this.preventRotation);
this.body.SetAngularVelocity(0);
this.body.SetAwake(true);
};
Acts.prototype.SetBullet = function (i)
{
if (!this.enabled)
return;
if (this.bullet === (i !== 0))
return;
this.bullet = (i !== 0);
this.body.SetBullet(this.bullet);
this.body.SetAwake(true);
};
Acts.prototype.RemoveJoints = function ()
{
if (!this.enabled)
return;
this.destroyMyJoints();
cr.clearArray(this.myCreatedJoints);
this.joiningMe.clear();
};
Acts.prototype.SetEnabled = function (e)
{
if (this.enabled && e === 0)
{
this.destroyBody();
this.enabled = false;
}
else if (!this.enabled && e === 1)
{
this.enabled = true;
this.createBody();
}
};
behaviorProto.acts = new Acts();
function Exps() {};
Exps.prototype.VelocityX = function (ret)
{
ret.set_float(this.enabled ? this.body.GetLinearVelocity().get_x() / worldScale : 0);
};
Exps.prototype.VelocityY = function (ret)
{
ret.set_float(this.enabled ? this.body.GetLinearVelocity().get_y() / worldScale : 0);
};
Exps.prototype.AngularVelocity = function (ret)
{
ret.set_float(this.enabled ? cr.to_degrees(this.body.GetAngularVelocity()) : 0);
};
Exps.prototype.Mass = function (ret)
{
ret.set_float(this.enabled ? this.body.GetMass() / worldScale : 0);
};
Exps.prototype.CenterOfMassX = function (ret)
{
ret.set_float(this.enabled ? (this.body.GetPosition().get_x() + this.body.GetLocalCenter().get_x()) / worldScale : 0);
};
Exps.prototype.CenterOfMassY = function (ret)
{
ret.set_float(this.enabled ? (this.body.GetPosition().get_y() + this.body.GetLocalCenter().get_y()) / worldScale : 0);
};
Exps.prototype.Density = function (ret)
{
ret.set_float(this.enabled ? this.density : 0);
};
Exps.prototype.Friction = function (ret)
{
ret.set_float(this.enabled ? this.friction : 0);
};
Exps.prototype.Elasticity = function (ret)
{
ret.set_float(this.enabled ? this.restitution : 0);
};
Exps.prototype.LinearDamping = function (ret)
{
ret.set_float(this.enabled ? this.linearDamping : 0);
};
Exps.prototype.AngularDamping = function (ret)
{
ret.set_float(this.enabled ? this.angularDamping : 0);
};
behaviorProto.exps = new Exps();
}());
;
;
cr.behaviors.Pin = function(runtime)
{
this.runtime = runtime;
};
(function ()
{
var behaviorProto = cr.behaviors.Pin.prototype;
behaviorProto.Type = function(behavior, objtype)
{
this.behavior = behavior;
this.objtype = objtype;
this.runtime = behavior.runtime;
};
var behtypeProto = behaviorProto.Type.prototype;
behtypeProto.onCreate = function()
{
};
behaviorProto.Instance = function(type, inst)
{
this.type = type;
this.behavior = type.behavior;
this.inst = inst; // associated object instance to modify
this.runtime = type.runtime;
};
var behinstProto = behaviorProto.Instance.prototype;
behinstProto.onCreate = function()
{
this.pinObject = null;
this.pinObjectUid = -1; // for loading
this.pinAngle = 0;
this.pinDist = 0;
this.myStartAngle = 0;
this.theirStartAngle = 0;
this.lastKnownAngle = 0;
this.mode = 0; // 0 = position & angle; 1 = position; 2 = angle; 3 = rope; 4 = bar
var self = this;
if (!this.recycled)
{
this.myDestroyCallback = (function(inst) {
self.onInstanceDestroyed(inst);
});
}
this.runtime.addDestroyCallback(this.myDestroyCallback);
};
behinstProto.saveToJSON = function ()
{
return {
"uid": this.pinObject ? this.pinObject.uid : -1,
"pa": this.pinAngle,
"pd": this.pinDist,
"msa": this.myStartAngle,
"tsa": this.theirStartAngle,
"lka": this.lastKnownAngle,
"m": this.mode
};
};
behinstProto.loadFromJSON = function (o)
{
this.pinObjectUid = o["uid"]; // wait until afterLoad to look up
this.pinAngle = o["pa"];
this.pinDist = o["pd"];
this.myStartAngle = o["msa"];
this.theirStartAngle = o["tsa"];
this.lastKnownAngle = o["lka"];
this.mode = o["m"];
};
behinstProto.afterLoad = function ()
{
if (this.pinObjectUid === -1)
this.pinObject = null;
else
{
this.pinObject = this.runtime.getObjectByUID(this.pinObjectUid);
;
}
this.pinObjectUid = -1;
};
behinstProto.onInstanceDestroyed = function (inst)
{
if (this.pinObject == inst)
this.pinObject = null;
};
behinstProto.onDestroy = function()
{
this.pinObject = null;
this.runtime.removeDestroyCallback(this.myDestroyCallback);
};
behinstProto.tick = function ()
{
};
behinstProto.tick2 = function ()
{
if (!this.pinObject)
return;
if (this.lastKnownAngle !== this.inst.angle)
this.myStartAngle = cr.clamp_angle(this.myStartAngle + (this.inst.angle - this.lastKnownAngle));
var newx = this.inst.x;
var newy = this.inst.y;
if (this.mode === 3 || this.mode === 4) // rope mode or bar mode
{
var dist = cr.distanceTo(this.inst.x, this.inst.y, this.pinObject.x, this.pinObject.y);
if ((dist > this.pinDist) || (this.mode === 4 && dist < this.pinDist))
{
var a = cr.angleTo(this.pinObject.x, this.pinObject.y, this.inst.x, this.inst.y);
newx = this.pinObject.x + Math.cos(a) * this.pinDist;
newy = this.pinObject.y + Math.sin(a) * this.pinDist;
}
}
else
{
newx = this.pinObject.x + Math.cos(this.pinObject.angle + this.pinAngle) * this.pinDist;
newy = this.pinObject.y + Math.sin(this.pinObject.angle + this.pinAngle) * this.pinDist;
}
var newangle = cr.clamp_angle(this.myStartAngle + (this.pinObject.angle - this.theirStartAngle));
this.lastKnownAngle = newangle;
if ((this.mode === 0 || this.mode === 1 || this.mode === 3 || this.mode === 4)
&& (this.inst.x !== newx || this.inst.y !== newy))
{
this.inst.x = newx;
this.inst.y = newy;
this.inst.set_bbox_changed();
}
if ((this.mode === 0 || this.mode === 2) && (this.inst.angle !== newangle))
{
this.inst.angle = newangle;
this.inst.set_bbox_changed();
}
};
function Cnds() {};
Cnds.prototype.IsPinned = function ()
{
return !!this.pinObject;
};
behaviorProto.cnds = new Cnds();
function Acts() {};
Acts.prototype.Pin = function (obj, mode_)
{
if (!obj)
return;
var otherinst = obj.getFirstPicked(this.inst);
if (!otherinst)
return;
this.pinObject = otherinst;
this.pinAngle = cr.angleTo(otherinst.x, otherinst.y, this.inst.x, this.inst.y) - otherinst.angle;
this.pinDist = cr.distanceTo(otherinst.x, otherinst.y, this.inst.x, this.inst.y);
this.myStartAngle = this.inst.angle;
this.lastKnownAngle = this.inst.angle;
this.theirStartAngle = otherinst.angle;
this.mode = mode_;
};
Acts.prototype.Unpin = function ()
{
this.pinObject = null;
};
behaviorProto.acts = new Acts();
function Exps() {};
Exps.prototype.PinnedUID = function (ret)
{
ret.set_int(this.pinObject ? this.pinObject.uid : -1);
};
behaviorProto.exps = new Exps();
}());
;
;
cr.behaviors.Platform = function(runtime)
{
this.runtime = runtime;
};
(function ()
{
var behaviorProto = cr.behaviors.Platform.prototype;
behaviorProto.Type = function(behavior, objtype)
{
this.behavior = behavior;
this.objtype = objtype;
this.runtime = behavior.runtime;
};
var behtypeProto = behaviorProto.Type.prototype;
behtypeProto.onCreate = function()
{
};
var ANIMMODE_STOPPED = 0;
var ANIMMODE_MOVING = 1;
var ANIMMODE_JUMPING = 2;
var ANIMMODE_FALLING = 3;
behaviorProto.Instance = function(type, inst)
{
this.type = type;
this.behavior = type.behavior;
this.inst = inst; // associated object instance to modify
this.runtime = type.runtime;
this.leftkey = false;
this.rightkey = false;
this.jumpkey = false;
this.jumped = false; // prevent bunnyhopping
this.doubleJumped = false;
this.canDoubleJump = false;
this.ignoreInput = false;
this.simleft = false;
this.simright = false;
this.simjump = false;
this.lastFloorObject = null;
this.loadFloorObject = -1;
this.lastFloorX = 0;
this.lastFloorY = 0;
this.floorIsJumpthru = false;
this.animMode = ANIMMODE_STOPPED;
this.fallthrough = 0; // fall through jump-thru. >0 to disable, lasts a few ticks
this.firstTick = true;
this.dx = 0;
this.dy = 0;
};
var behinstProto = behaviorProto.Instance.prototype;
behinstProto.updateGravity = function()
{
this.downx = Math.cos(this.ga);
this.downy = Math.sin(this.ga);
this.rightx = Math.cos(this.ga - Math.PI / 2);
this.righty = Math.sin(this.ga - Math.PI / 2);
this.downx = cr.round6dp(this.downx);
this.downy = cr.round6dp(this.downy);
this.rightx = cr.round6dp(this.rightx);
this.righty = cr.round6dp(this.righty);
this.g1 = this.g;
if (this.g < 0)
{
this.downx *= -1;
this.downy *= -1;
this.g = Math.abs(this.g);
}
};
behinstProto.onCreate = function()
{
this.maxspeed = this.properties[0];
this.acc = this.properties[1];
this.dec = this.properties[2];
this.jumpStrength = this.properties[3];
this.g = this.properties[4];
this.g1 = this.g;
this.maxFall = this.properties[5];
this.enableDoubleJump = (this.properties[6] !== 0); // 0=disabled, 1=enabled
this.jumpSustain = (this.properties[7] / 1000); // convert ms to s
this.defaultControls = (this.properties[8] === 1); // 0=no, 1=yes
this.enabled = (this.properties[9] !== 0);
this.wasOnFloor = false;
this.wasOverJumpthru = this.runtime.testOverlapJumpThru(this.inst);
this.loadOverJumpthru = -1;
this.sustainTime = 0; // time of jump sustain remaining
this.ga = cr.to_radians(90);
this.updateGravity();
var self = this;
if (this.defaultControls && !this.runtime.isDomFree)
{
jQuery(document).keydown(function(info) {
self.onKeyDown(info);
});
jQuery(document).keyup(function(info) {
self.onKeyUp(info);
});
}
if (!this.recycled)
{
this.myDestroyCallback = function(inst) {
self.onInstanceDestroyed(inst);
};
}
this.runtime.addDestroyCallback(this.myDestroyCallback);
this.inst.extra["isPlatformBehavior"] = true;
};
behinstProto.saveToJSON = function ()
{
return {
"ii": this.ignoreInput,
"lfx": this.lastFloorX,
"lfy": this.lastFloorY,
"lfo": (this.lastFloorObject ? this.lastFloorObject.uid : -1),
"am": this.animMode,
"en": this.enabled,
"fall": this.fallthrough,
"ft": this.firstTick,
"dx": this.dx,
"dy": this.dy,
"ms": this.maxspeed,
"acc": this.acc,
"dec": this.dec,
"js": this.jumpStrength,
"g": this.g,
"g1": this.g1,
"mf": this.maxFall,
"wof": this.wasOnFloor,
"woj": (this.wasOverJumpthru ? this.wasOverJumpthru.uid : -1),
"ga": this.ga,
"edj": this.enableDoubleJump,
"cdj": this.canDoubleJump,
"dj": this.doubleJumped,
"sus": this.jumpSustain
};
};
behinstProto.loadFromJSON = function (o)
{
this.ignoreInput = o["ii"];
this.lastFloorX = o["lfx"];
this.lastFloorY = o["lfy"];
this.loadFloorObject = o["lfo"];
this.animMode = o["am"];
this.enabled = o["en"];
this.fallthrough = o["fall"];
this.firstTick = o["ft"];
this.dx = o["dx"];
this.dy = o["dy"];
this.maxspeed = o["ms"];
this.acc = o["acc"];
this.dec = o["dec"];
this.jumpStrength = o["js"];
this.g = o["g"];
this.g1 = o["g1"];
this.maxFall = o["mf"];
this.wasOnFloor = o["wof"];
this.loadOverJumpthru = o["woj"];
this.ga = o["ga"];
this.enableDoubleJump = o["edj"];
this.canDoubleJump = o["cdj"];
this.doubleJumped = o["dj"];
this.jumpSustain = o["sus"];
this.leftkey = false;
this.rightkey = false;
this.jumpkey = false;
this.jumped = false;
this.simleft = false;
this.simright = false;
this.simjump = false;
this.sustainTime = 0;
this.updateGravity();
};
behinstProto.afterLoad = function ()
{
if (this.loadFloorObject === -1)
this.lastFloorObject = null;
else
this.lastFloorObject = this.runtime.getObjectByUID(this.loadFloorObject);
if (this.loadOverJumpthru === -1)
this.wasOverJumpthru = null;
else
this.wasOverJumpthru = this.runtime.getObjectByUID(this.loadOverJumpthru);
};
behinstProto.onInstanceDestroyed = function (inst)
{
if (this.lastFloorObject == inst)
this.lastFloorObject = null;
};
behinstProto.onDestroy = function ()
{
this.lastFloorObject = null;
this.runtime.removeDestroyCallback(this.myDestroyCallback);
};
behinstProto.onKeyDown = function (info)
{
switch (info.which) {
case 38: // up
info.preventDefault();
this.jumpkey = true;
break;
case 37: // left
info.preventDefault();
this.leftkey = true;
break;
case 39: // right
info.preventDefault();
this.rightkey = true;
break;
}
};
behinstProto.onKeyUp = function (info)
{
switch (info.which) {
case 38: // up
info.preventDefault();
this.jumpkey = false;
this.jumped = false;
break;
case 37: // left
info.preventDefault();
this.leftkey = false;
break;
case 39: // right
info.preventDefault();
this.rightkey = false;
break;
}
};
behinstProto.onWindowBlur = function ()
{
this.leftkey = false;
this.rightkey = false;
this.jumpkey = false;
};
behinstProto.getGDir = function ()
{
if (this.g < 0)
return -1;
else
return 1;
};
behinstProto.isOnFloor = function ()
{
var ret = null;
var ret2 = null;
var i, len, j;
var oldx = this.inst.x;
var oldy = this.inst.y;
this.inst.x += this.downx;
this.inst.y += this.downy;
this.inst.set_bbox_changed();
if (this.lastFloorObject && this.runtime.testOverlap(this.inst, this.lastFloorObject) &&
(!this.runtime.typeHasBehavior(this.lastFloorObject.type, cr.behaviors.solid) || this.lastFloorObject.extra["solidEnabled"]))
{
this.inst.x = oldx;
this.inst.y = oldy;
this.inst.set_bbox_changed();
return this.lastFloorObject;
}
else
{
ret = this.runtime.testOverlapSolid(this.inst);
if (!ret && this.fallthrough === 0)
ret2 = this.runtime.testOverlapJumpThru(this.inst, true);
this.inst.x = oldx;
this.inst.y = oldy;
this.inst.set_bbox_changed();
if (ret) // was overlapping solid
{
if (this.runtime.testOverlap(this.inst, ret))
return null;
else
{
this.floorIsJumpthru = false;
return ret;
}
}
if (ret2 && ret2.length)
{
for (i = 0, j = 0, len = ret2.length; i < len; i++)
{
ret2[j] = ret2[i];
if (!this.runtime.testOverlap(this.inst, ret2[i]))
j++;
}
if (j >= 1)
{
this.floorIsJumpthru = true;
return ret2[0];
}
}
return null;
}
};
behinstProto.tick = function ()
{
};
behinstProto.posttick = function ()
{
var dt = this.runtime.getDt(this.inst);
var mx, my, obstacle, mag, allover, i, len, j, oldx, oldy;
if (!this.jumpkey && !this.simjump)
this.jumped = false;
var left = this.leftkey || this.simleft;
var right = this.rightkey || this.simright;
var jumpkey = (this.jumpkey || this.simjump);
var jump = jumpkey && !this.jumped;
this.simleft = false;
this.simright = false;
this.simjump = false;
if (!this.enabled)
return;
if (this.ignoreInput)
{
left = false;
right = false;
jumpkey = false;
jump = false;
}
if (!jumpkey)
this.sustainTime = 0;
var lastFloor = this.lastFloorObject;
var floor_moved = false;
if (this.firstTick)
{
if (this.runtime.testOverlapSolid(this.inst) || this.runtime.testOverlapJumpThru(this.inst))
{
this.runtime.pushOutSolid(this.inst, -this.downx, -this.downy, 4, true);
}
this.firstTick = false;
}
if (lastFloor && this.dy === 0 && (lastFloor.y !== this.lastFloorY || lastFloor.x !== this.lastFloorX))
{
mx = (lastFloor.x - this.lastFloorX);
my = (lastFloor.y - this.lastFloorY);
this.inst.x += mx;
this.inst.y += my;
this.inst.set_bbox_changed();
this.lastFloorX = lastFloor.x;
this.lastFloorY = lastFloor.y;
floor_moved = true;
if (this.runtime.testOverlapSolid(this.inst))
{
this.runtime.pushOutSolid(this.inst, -mx, -my, Math.sqrt(mx * mx + my * my) * 2.5);
}
}
var floor_ = this.isOnFloor();
var collobj = this.runtime.testOverlapSolid(this.inst);
if (collobj)
{
if (this.inst.extra["inputPredicted"])
{
this.runtime.pushOutSolid(this.inst, -this.downx, -this.downy, 10, false);
}
else if (this.runtime.pushOutSolidNearest(this.inst, Math.max(this.inst.width, this.inst.height) / 2))
{
this.runtime.registerCollision(this.inst, collobj);
}
else
return;
}
if (floor_)
{
this.doubleJumped = false; // reset double jump flags for next jump
this.canDoubleJump = false;
if (this.dy > 0)
{
if (!this.wasOnFloor)
{
this.runtime.pushInFractional(this.inst, -this.downx, -this.downy, floor_, 16);
this.wasOnFloor = true;
}
this.dy = 0;
}
if (lastFloor != floor_)
{
this.lastFloorObject = floor_;
this.lastFloorX = floor_.x;
this.lastFloorY = floor_.y;
this.runtime.registerCollision(this.inst, floor_);
}
else if (floor_moved)
{
collobj = this.runtime.testOverlapSolid(this.inst);
if (collobj)
{
this.runtime.registerCollision(this.inst, collobj);
if (mx !== 0)
{
if (mx > 0)
this.runtime.pushOutSolid(this.inst, -this.rightx, -this.righty);
else
this.runtime.pushOutSolid(this.inst, this.rightx, this.righty);
}
this.runtime.pushOutSolid(this.inst, -this.downx, -this.downy);
}
}
}
else
{
if (!jumpkey)
this.canDoubleJump = true;
}
if ((floor_ && jump) || (!floor_ && this.enableDoubleJump && jumpkey && this.canDoubleJump && !this.doubleJumped))
{
oldx = this.inst.x;
oldy = this.inst.y;
this.inst.x -= this.downx;
this.inst.y -= this.downy;
this.inst.set_bbox_changed();
if (!this.runtime.testOverlapSolid(this.inst))
{
this.sustainTime = this.jumpSustain;
this.runtime.trigger(cr.behaviors.Platform.prototype.cnds.OnJump, this.inst);
this.animMode = ANIMMODE_JUMPING;
this.dy = -this.jumpStrength;
jump = true; // set in case is double jump
if (floor_)
this.jumped = true;
else
this.doubleJumped = true;
}
else
jump = false;
this.inst.x = oldx;
this.inst.y = oldy;
this.inst.set_bbox_changed();
}
if (!floor_)
{
if (jumpkey && this.sustainTime > 0)
{
this.dy = -this.jumpStrength;
this.sustainTime -= dt;
}
else
{
this.lastFloorObject = null;
this.dy += this.g * dt;
if (this.dy > this.maxFall)
this.dy = this.maxFall;
}
if (jump)
this.jumped = true;
}
this.wasOnFloor = !!floor_;
if (left == right) // both up or both down
{
if (this.dx < 0)
{
this.dx += this.dec * dt;
if (this.dx > 0)
this.dx = 0;
}
else if (this.dx > 0)
{
this.dx -= this.dec * dt;
if (this.dx < 0)
this.dx = 0;
}
}
if (left && !right)
{
if (this.dx > 0)
this.dx -= (this.acc + this.dec) * dt;
else
this.dx -= this.acc * dt;
}
if (right && !left)
{
if (this.dx < 0)
this.dx += (this.acc + this.dec) * dt;
else
this.dx += this.acc * dt;
}
if (this.dx > this.maxspeed)
this.dx = this.maxspeed;
else if (this.dx < -this.maxspeed)
this.dx = -this.maxspeed;
var landed = false;
if (this.dx !== 0)
{
oldx = this.inst.x;
oldy = this.inst.y;
mx = this.dx * dt * this.rightx;
my = this.dx * dt * this.righty;
this.inst.x += this.rightx * (this.dx > 1 ? 1 : -1) - this.downx;
this.inst.y += this.righty * (this.dx > 1 ? 1 : -1) - this.downy;
this.inst.set_bbox_changed();
var is_jumpthru = false;
var slope_too_steep = this.runtime.testOverlapSolid(this.inst);
/*
if (!slope_too_steep && floor_)
{
slope_too_steep = this.runtime.testOverlapJumpThru(this.inst);
is_jumpthru = true;
if (slope_too_steep)
{
this.inst.x = oldx;
this.inst.y = oldy;
this.inst.set_bbox_changed();
if (this.runtime.testOverlap(this.inst, slope_too_steep))
{
slope_too_steep = null;
is_jumpthru = false;
}
}
}
*/
this.inst.x = oldx + mx;
this.inst.y = oldy + my;
this.inst.set_bbox_changed();
obstacle = this.runtime.testOverlapSolid(this.inst);
if (!obstacle && floor_)
{
obstacle = this.runtime.testOverlapJumpThru(this.inst);
if (obstacle)
{
this.inst.x = oldx;
this.inst.y = oldy;
this.inst.set_bbox_changed();
if (this.runtime.testOverlap(this.inst, obstacle))
{
obstacle = null;
is_jumpthru = false;
}
else
is_jumpthru = true;
this.inst.x = oldx + mx;
this.inst.y = oldy + my;
this.inst.set_bbox_changed();
}
}
if (obstacle)
{
var push_dist = Math.abs(this.dx * dt) + 2;
if (slope_too_steep || !this.runtime.pushOutSolid(this.inst, -this.downx, -this.downy, push_dist, is_jumpthru, obstacle))
{
this.runtime.registerCollision(this.inst, obstacle);
push_dist = Math.max(Math.abs(this.dx * dt * 2.5), 30);
if (!this.runtime.pushOutSolid(this.inst, this.rightx * (this.dx < 0 ? 1 : -1), this.righty * (this.dx < 0 ? 1 : -1), push_dist, false))
{
this.inst.x = oldx;
this.inst.y = oldy;
this.inst.set_bbox_changed();
}
else if (floor_ && !is_jumpthru && !this.floorIsJumpthru)
{
oldx = this.inst.x;
oldy = this.inst.y;
this.inst.x += this.downx;
this.inst.y += this.downy;
if (this.runtime.testOverlapSolid(this.inst))
{
if (!this.runtime.pushOutSolid(this.inst, -this.downx, -this.downy, 3, false))
{
this.inst.x = oldx;
this.inst.y = oldy;
this.inst.set_bbox_changed();
}
}
else
{
this.inst.x = oldx;
this.inst.y = oldy;
this.inst.set_bbox_changed();
}
}
if (!is_jumpthru)
this.dx = 0; // stop
}
else if (!slope_too_steep && !jump && (Math.abs(this.dy) < Math.abs(this.jumpStrength / 4)))
{
this.dy = 0;
if (!floor_)
landed = true;
}
}
else
{
var newfloor = this.isOnFloor();
if (floor_ && !newfloor)
{
mag = Math.ceil(Math.abs(this.dx * dt)) + 2;
oldx = this.inst.x;
oldy = this.inst.y;
this.inst.x += this.downx * mag;
this.inst.y += this.downy * mag;
this.inst.set_bbox_changed();
if (this.runtime.testOverlapSolid(this.inst) || this.runtime.testOverlapJumpThru(this.inst))
this.runtime.pushOutSolid(this.inst, -this.downx, -this.downy, mag + 2, true);
else
{
this.inst.x = oldx;
this.inst.y = oldy;
this.inst.set_bbox_changed();
}
}
else if (newfloor && this.dy === 0)
{
this.runtime.pushInFractional(this.inst, -this.downx, -this.downy, newfloor, 16);
}
}
}
if (this.dy !== 0)
{
oldx = this.inst.x;
oldy = this.inst.y;
this.inst.x += this.dy * dt * this.downx;
this.inst.y += this.dy * dt * this.downy;
var newx = this.inst.x;
var newy = this.inst.y;
this.inst.set_bbox_changed();
collobj = this.runtime.testOverlapSolid(this.inst);
var fell_on_jumpthru = false;
if (!collobj && (this.dy > 0) && !floor_)
{
allover = this.fallthrough > 0 ? null : this.runtime.testOverlapJumpThru(this.inst, true);
if (allover && allover.length)
{
if (this.wasOverJumpthru)
{
this.inst.x = oldx;
this.inst.y = oldy;
this.inst.set_bbox_changed();
for (i = 0, j = 0, len = allover.length; i < len; i++)
{
allover[j] = allover[i];
if (!this.runtime.testOverlap(this.inst, allover[i]))
j++;
}
allover.length = j;
this.inst.x = newx;
this.inst.y = newy;
this.inst.set_bbox_changed();
}
if (allover.length >= 1)
collobj = allover[0];
}
fell_on_jumpthru = !!collobj;
}
if (collobj)
{
this.runtime.registerCollision(this.inst, collobj);
this.sustainTime = 0;
var push_dist = (fell_on_jumpthru ? Math.abs(this.dy * dt * 2.5 + 10) : Math.max(Math.abs(this.dy * dt * 2.5 + 10), 30));
if (!this.runtime.pushOutSolid(this.inst, this.downx * (this.dy < 0 ? 1 : -1), this.downy * (this.dy < 0 ? 1 : -1), push_dist, fell_on_jumpthru, collobj))
{
this.inst.x = oldx;
this.inst.y = oldy;
this.inst.set_bbox_changed();
this.wasOnFloor = true; // prevent adjustment for unexpected floor landings
if (!fell_on_jumpthru)
this.dy = 0; // stop
}
else
{
this.lastFloorObject = collobj;
this.lastFloorX = collobj.x;
this.lastFloorY = collobj.y;
this.floorIsJumpthru = fell_on_jumpthru;
if (fell_on_jumpthru)
landed = true;
this.dy = 0; // stop
}
}
}
if (this.animMode !== ANIMMODE_FALLING && this.dy > 0 && !floor_)
{
this.runtime.trigger(cr.behaviors.Platform.prototype.cnds.OnFall, this.inst);
this.animMode = ANIMMODE_FALLING;
}
if (floor_ || landed)
{
if (this.animMode === ANIMMODE_FALLING || landed || (jump && this.dy === 0))
{
this.runtime.trigger(cr.behaviors.Platform.prototype.cnds.OnLand, this.inst);
if (this.dx === 0 && this.dy === 0)
this.animMode = ANIMMODE_STOPPED;
else
this.animMode = ANIMMODE_MOVING;
}
else
{
if (this.animMode !== ANIMMODE_STOPPED && this.dx === 0 && this.dy === 0)
{
this.runtime.trigger(cr.behaviors.Platform.prototype.cnds.OnStop, this.inst);
this.animMode = ANIMMODE_STOPPED;
}
if (this.animMode !== ANIMMODE_MOVING && (this.dx !== 0 || this.dy !== 0) && !jump)
{
this.runtime.trigger(cr.behaviors.Platform.prototype.cnds.OnMove, this.inst);
this.animMode = ANIMMODE_MOVING;
}
}
}
if (this.fallthrough > 0)
this.fallthrough--;
this.wasOverJumpthru = this.runtime.testOverlapJumpThru(this.inst);
};
function Cnds() {};
Cnds.prototype.IsMoving = function ()
{
return this.dx !== 0 || this.dy !== 0;
};
Cnds.prototype.CompareSpeed = function (cmp, s)
{
var speed = Math.sqrt(this.dx * this.dx + this.dy * this.dy);
return cr.do_cmp(speed, cmp, s);
};
Cnds.prototype.IsOnFloor = function ()
{
if (this.dy !== 0)
return false;
var ret = null;
var ret2 = null;
var i, len, j;
var oldx = this.inst.x;
var oldy = this.inst.y;
this.inst.x += this.downx;
this.inst.y += this.downy;
this.inst.set_bbox_changed();
ret = this.runtime.testOverlapSolid(this.inst);
if (!ret && this.fallthrough === 0)
ret2 = this.runtime.testOverlapJumpThru(this.inst, true);
this.inst.x = oldx;
this.inst.y = oldy;
this.inst.set_bbox_changed();
if (ret) // was overlapping solid
{
return !this.runtime.testOverlap(this.inst, ret);
}
if (ret2 && ret2.length)
{
for (i = 0, j = 0, len = ret2.length; i < len; i++)
{
ret2[j] = ret2[i];
if (!this.runtime.testOverlap(this.inst, ret2[i]))
j++;
}
if (j >= 1)
return true;
}
return false;
};
Cnds.prototype.IsByWall = function (side)
{
var ret = false;
var oldx = this.inst.x;
var oldy = this.inst.y;
if (side === 0) // left
{
this.inst.x -= this.rightx * 2;
this.inst.y -= this.righty * 2;
}
else
{
this.inst.x += this.rightx * 2;
this.inst.y += this.righty * 2;
}
this.inst.set_bbox_changed();
if (!this.runtime.testOverlapSolid(this.inst))
{
this.inst.x = oldx;
this.inst.y = oldy;
this.inst.set_bbox_changed();
return false;
}
this.inst.x -= this.downx * 3;
this.inst.y -= this.downy * 3;
this.inst.set_bbox_changed();
ret = this.runtime.testOverlapSolid(this.inst);
this.inst.x = oldx;
this.inst.y = oldy;
this.inst.set_bbox_changed();
return ret;
};
Cnds.prototype.IsJumping = function ()
{
return this.dy < 0;
};
Cnds.prototype.IsFalling = function ()
{
return this.dy > 0;
};
Cnds.prototype.OnJump = function ()
{
return true;
};
Cnds.prototype.OnFall = function ()
{
return true;
};
Cnds.prototype.OnStop = function ()
{
return true;
};
Cnds.prototype.OnMove = function ()
{
return true;
};
Cnds.prototype.OnLand = function ()
{
return true;
};
Cnds.prototype.IsDoubleJumpEnabled = function ()
{
return this.enableDoubleJump;
};
behaviorProto.cnds = new Cnds();
function Acts() {};
Acts.prototype.SetIgnoreInput = function (ignoring)
{
this.ignoreInput = ignoring;
};
Acts.prototype.SetMaxSpeed = function (maxspeed)
{
this.maxspeed = maxspeed;
if (this.maxspeed < 0)
this.maxspeed = 0;
};
Acts.prototype.SetAcceleration = function (acc)
{
this.acc = acc;
if (this.acc < 0)
this.acc = 0;
};
Acts.prototype.SetDeceleration = function (dec)
{
this.dec = dec;
if (this.dec < 0)
this.dec = 0;
};
Acts.prototype.SetJumpStrength = function (js)
{
this.jumpStrength = js;
if (this.jumpStrength < 0)
this.jumpStrength = 0;
};
Acts.prototype.SetGravity = function (grav)
{
if (this.g1 === grav)
return; // no change
this.g = grav;
this.updateGravity();
if (this.runtime.testOverlapSolid(this.inst))
{
this.runtime.pushOutSolid(this.inst, this.downx, this.downy, 10);
this.inst.x += this.downx * 2;
this.inst.y += this.downy * 2;
this.inst.set_bbox_changed();
}
this.lastFloorObject = null;
};
Acts.prototype.SetMaxFallSpeed = function (mfs)
{
this.maxFall = mfs;
if (this.maxFall < 0)
this.maxFall = 0;
};
Acts.prototype.SimulateControl = function (ctrl)
{
switch (ctrl) {
case 0: this.simleft = true; break;
case 1: this.simright = true; break;
case 2: this.simjump = true; break;
}
};
Acts.prototype.SetVectorX = function (vx)
{
this.dx = vx;
};
Acts.prototype.SetVectorY = function (vy)
{
this.dy = vy;
};
Acts.prototype.SetGravityAngle = function (a)
{
a = cr.to_radians(a);
a = cr.clamp_angle(a);
if (this.ga === a)
return; // no change
this.ga = a;
this.updateGravity();
this.lastFloorObject = null;
};
Acts.prototype.SetEnabled = function (en)
{
if (this.enabled !== (en === 1))
{
this.enabled = (en === 1);
if (!this.enabled)
this.lastFloorObject = null;
}
};
Acts.prototype.FallThrough = function ()
{
var oldx = this.inst.x;
var oldy = this.inst.y;
this.inst.x += this.downx;
this.inst.y += this.downy;
this.inst.set_bbox_changed();
var overlaps = this.runtime.testOverlapJumpThru(this.inst, false);
this.inst.x = oldx;
this.inst.y = oldy;
this.inst.set_bbox_changed();
if (!overlaps)
return;
this.fallthrough = 3; // disable jumpthrus for 3 ticks (1 doesn't do it, 2 does, 3 to be on safe side)
this.lastFloorObject = null;
};
Acts.prototype.SetDoubleJumpEnabled = function (e)
{
this.enableDoubleJump = (e !== 0);
};
Acts.prototype.SetJumpSustain = function (s)
{
this.jumpSustain = s / 1000; // convert to ms
};
behaviorProto.acts = new Acts();
function Exps() {};
Exps.prototype.Speed = function (ret)
{
ret.set_float(Math.sqrt(this.dx * this.dx + this.dy * this.dy));
};
Exps.prototype.MaxSpeed = function (ret)
{
ret.set_float(this.maxspeed);
};
Exps.prototype.Acceleration = function (ret)
{
ret.set_float(this.acc);
};
Exps.prototype.Deceleration = function (ret)
{
ret.set_float(this.dec);
};
Exps.prototype.JumpStrength = function (ret)
{
ret.set_float(this.jumpStrength);
};
Exps.prototype.Gravity = function (ret)
{
ret.set_float(this.g);
};
Exps.prototype.GravityAngle = function (ret)
{
ret.set_float(cr.to_degrees(this.ga));
};
Exps.prototype.MaxFallSpeed = function (ret)
{
ret.set_float(this.maxFall);
};
Exps.prototype.MovingAngle = function (ret)
{
ret.set_float(cr.to_degrees(Math.atan2(this.dy, this.dx)));
};
Exps.prototype.VectorX = function (ret)
{
ret.set_float(this.dx);
};
Exps.prototype.VectorY = function (ret)
{
ret.set_float(this.dy);
};
Exps.prototype.JumpSustain = function (ret)
{
ret.set_float(this.jumpSustain * 1000); // convert back to ms
};
behaviorProto.exps = new Exps();
}());
;
;
cr.behaviors.Rotate = function(runtime)
{
this.runtime = runtime;
};
(function ()
{
var behaviorProto = cr.behaviors.Rotate.prototype;
behaviorProto.Type = function(behavior, objtype)
{
this.behavior = behavior;
this.objtype = objtype;
this.runtime = behavior.runtime;
};
var behtypeProto = behaviorProto.Type.prototype;
behtypeProto.onCreate = function()
{
};
behaviorProto.Instance = function(type, inst)
{
this.type = type;
this.behavior = type.behavior;
this.inst = inst; // associated object instance to modify
this.runtime = type.runtime;
};
var behinstProto = behaviorProto.Instance.prototype;
behinstProto.onCreate = function()
{
this.speed = cr.to_radians(this.properties[0]);
this.acc = cr.to_radians(this.properties[1]);
};
behinstProto.saveToJSON = function ()
{
return {
"speed": this.speed,
"acc": this.acc
};
};
behinstProto.loadFromJSON = function (o)
{
this.speed = o["speed"];
this.acc = o["acc"];
};
behinstProto.tick = function ()
{
var dt = this.runtime.getDt(this.inst);
if (dt === 0)
return;
if (this.acc !== 0)
this.speed += this.acc * dt;
if (this.speed !== 0)
{
this.inst.angle = cr.clamp_angle(this.inst.angle + this.speed * dt);
this.inst.set_bbox_changed();
}
};
function Cnds() {};
behaviorProto.cnds = new Cnds();
function Acts() {};
Acts.prototype.SetSpeed = function (s)
{
this.speed = cr.to_radians(s);
};
Acts.prototype.SetAcceleration = function (a)
{
this.acc = cr.to_radians(a);
};
behaviorProto.acts = new Acts();
function Exps() {};
Exps.prototype.Speed = function (ret)
{
ret.set_float(cr.to_degrees(this.speed));
};
Exps.prototype.Acceleration = function (ret)
{
ret.set_float(cr.to_degrees(this.acc));
};
behaviorProto.exps = new Exps();
}());
;
;
cr.behaviors.Sin = function(runtime)
{
this.runtime = runtime;
};
(function ()
{
var behaviorProto = cr.behaviors.Sin.prototype;
behaviorProto.Type = function(behavior, objtype)
{
this.behavior = behavior;
this.objtype = objtype;
this.runtime = behavior.runtime;
};
var behtypeProto = behaviorProto.Type.prototype;
behtypeProto.onCreate = function()
{
};
behaviorProto.Instance = function(type, inst)
{
this.type = type;
this.behavior = type.behavior;
this.inst = inst; // associated object instance to modify
this.runtime = type.runtime;
this.i = 0; // period offset (radians)
};
var behinstProto = behaviorProto.Instance.prototype;
var _2pi = 2 * Math.PI;
var _pi_2 = Math.PI / 2;
var _3pi_2 = (3 * Math.PI) / 2;
behinstProto.onCreate = function()
{
this.active = (this.properties[0] === 1);
this.movement = this.properties[1]; // 0=Horizontal|1=Vertical|2=Size|3=Width|4=Height|5=Angle|6=Opacity|7=Value only
this.wave = this.properties[2]; // 0=Sine|1=Triangle|2=Sawtooth|3=Reverse sawtooth|4=Square
this.period = this.properties[3];
this.period += Math.random() * this.properties[4]; // period random
if (this.period === 0)
this.i = 0;
else
{
this.i = (this.properties[5] / this.period) * _2pi; // period offset
this.i += ((Math.random() * this.properties[6]) / this.period) * _2pi; // period offset random
}
this.mag = this.properties[7]; // magnitude
this.mag += Math.random() * this.properties[8]; // magnitude random
this.initialValue = 0;
this.initialValue2 = 0;
this.ratio = 0;
if (this.movement === 5) // angle
this.mag = cr.to_radians(this.mag);
this.init();
};
behinstProto.saveToJSON = function ()
{
return {
"i": this.i,
"a": this.active,
"mv": this.movement,
"w": this.wave,
"p": this.period,
"mag": this.mag,
"iv": this.initialValue,
"iv2": this.initialValue2,
"r": this.ratio,
"lkv": this.lastKnownValue,
"lkv2": this.lastKnownValue2
};
};
behinstProto.loadFromJSON = function (o)
{
this.i = o["i"];
this.active = o["a"];
this.movement = o["mv"];
this.wave = o["w"];
this.period = o["p"];
this.mag = o["mag"];
this.initialValue = o["iv"];
this.initialValue2 = o["iv2"] || 0;
this.ratio = o["r"];
this.lastKnownValue = o["lkv"];
this.lastKnownValue2 = o["lkv2"] || 0;
};
behinstProto.init = function ()
{
switch (this.movement) {
case 0: // horizontal
this.initialValue = this.inst.x;
break;
case 1: // vertical
this.initialValue = this.inst.y;
break;
case 2: // size
this.initialValue = this.inst.width;
this.ratio = this.inst.height / this.inst.width;
break;
case 3: // width
this.initialValue = this.inst.width;
break;
case 4: // height
this.initialValue = this.inst.height;
break;
case 5: // angle
this.initialValue = this.inst.angle;
break;
case 6: // opacity
this.initialValue = this.inst.opacity;
break;
case 7:
this.initialValue = 0;
break;
case 8: // forwards/backwards
this.initialValue = this.inst.x;
this.initialValue2 = this.inst.y;
break;
default:
;
}
this.lastKnownValue = this.initialValue;
this.lastKnownValue2 = this.initialValue2;
};
behinstProto.waveFunc = function (x)
{
x = x % _2pi;
switch (this.wave) {
case 0: // sine
return Math.sin(x);
case 1: // triangle
if (x <= _pi_2)
return x / _pi_2;
else if (x <= _3pi_2)
return 1 - (2 * (x - _pi_2) / Math.PI);
else
return (x - _3pi_2) / _pi_2 - 1;
case 2: // sawtooth
return 2 * x / _2pi - 1;
case 3: // reverse sawtooth
return -2 * x / _2pi + 1;
case 4: // square
return x < Math.PI ? -1 : 1;
};
return 0;
};
behinstProto.tick = function ()
{
var dt = this.runtime.getDt(this.inst);
if (!this.active || dt === 0)
return;
if (this.period === 0)
this.i = 0;
else
{
this.i += (dt / this.period) * _2pi;
this.i = this.i % _2pi;
}
this.updateFromPhase();
};
behinstProto.updateFromPhase = function ()
{
switch (this.movement) {
case 0: // horizontal
if (this.inst.x !== this.lastKnownValue)
this.initialValue += this.inst.x - this.lastKnownValue;
this.inst.x = this.initialValue + this.waveFunc(this.i) * this.mag;
this.lastKnownValue = this.inst.x;
break;
case 1: // vertical
if (this.inst.y !== this.lastKnownValue)
this.initialValue += this.inst.y - this.lastKnownValue;
this.inst.y = this.initialValue + this.waveFunc(this.i) * this.mag;
this.lastKnownValue = this.inst.y;
break;
case 2: // size
this.inst.width = this.initialValue + this.waveFunc(this.i) * this.mag;
this.inst.height = this.inst.width * this.ratio;
break;
case 3: // width
this.inst.width = this.initialValue + this.waveFunc(this.i) * this.mag;
break;
case 4: // height
this.inst.height = this.initialValue + this.waveFunc(this.i) * this.mag;
break;
case 5: // angle
if (this.inst.angle !== this.lastKnownValue)
this.initialValue = cr.clamp_angle(this.initialValue + (this.inst.angle - this.lastKnownValue));
this.inst.angle = cr.clamp_angle(this.initialValue + this.waveFunc(this.i) * this.mag);
this.lastKnownValue = this.inst.angle;
break;
case 6: // opacity
this.inst.opacity = this.initialValue + (this.waveFunc(this.i) * this.mag) / 100;
if (this.inst.opacity < 0)
this.inst.opacity = 0;
else if (this.inst.opacity > 1)
this.inst.opacity = 1;
break;
case 8: // forwards/backwards
if (this.inst.x !== this.lastKnownValue)
this.initialValue += this.inst.x - this.lastKnownValue;
if (this.inst.y !== this.lastKnownValue2)
this.initialValue2 += this.inst.y - this.lastKnownValue2;
this.inst.x = this.initialValue + Math.cos(this.inst.angle) * this.waveFunc(this.i) * this.mag;
this.inst.y = this.initialValue2 + Math.sin(this.inst.angle) * this.waveFunc(this.i) * this.mag;
this.lastKnownValue = this.inst.x;
this.lastKnownValue2 = this.inst.y;
break;
}
this.inst.set_bbox_changed();
};
behinstProto.onSpriteFrameChanged = function (prev_frame, next_frame)
{
switch (this.movement) {
case 2: // size
this.initialValue *= (next_frame.width / prev_frame.width);
this.ratio = next_frame.height / next_frame.width;
break;
case 3: // width
this.initialValue *= (next_frame.width / prev_frame.width);
break;
case 4: // height
this.initialValue *= (next_frame.height / prev_frame.height);
break;
}
};
function Cnds() {};
Cnds.prototype.IsActive = function ()
{
return this.active;
};
Cnds.prototype.CompareMovement = function (m)
{
return this.movement === m;
};
Cnds.prototype.ComparePeriod = function (cmp, v)
{
return cr.do_cmp(this.period, cmp, v);
};
Cnds.prototype.CompareMagnitude = function (cmp, v)
{
if (this.movement === 5)
return cr.do_cmp(this.mag, cmp, cr.to_radians(v));
else
return cr.do_cmp(this.mag, cmp, v);
};
Cnds.prototype.CompareWave = function (w)
{
return this.wave === w;
};
behaviorProto.cnds = new Cnds();
function Acts() {};
Acts.prototype.SetActive = function (a)
{
this.active = (a === 1);
};
Acts.prototype.SetPeriod = function (x)
{
this.period = x;
};
Acts.prototype.SetMagnitude = function (x)
{
this.mag = x;
if (this.movement === 5) // angle
this.mag = cr.to_radians(this.mag);
};
Acts.prototype.SetMovement = function (m)
{
if (this.movement === 5 && m !== 5)
this.mag = cr.to_degrees(this.mag);
this.movement = m;
this.init();
};
Acts.prototype.SetWave = function (w)
{
this.wave = w;
};
Acts.prototype.SetPhase = function (x)
{
this.i = (x * _2pi) % _2pi;
this.updateFromPhase();
};
Acts.prototype.UpdateInitialState = function ()
{
this.init();
};
behaviorProto.acts = new Acts();
function Exps() {};
Exps.prototype.CyclePosition = function (ret)
{
ret.set_float(this.i / _2pi);
};
Exps.prototype.Period = function (ret)
{
ret.set_float(this.period);
};
Exps.prototype.Magnitude = function (ret)
{
if (this.movement === 5) // angle
ret.set_float(cr.to_degrees(this.mag));
else
ret.set_float(this.mag);
};
Exps.prototype.Value = function (ret)
{
ret.set_float(this.waveFunc(this.i) * this.mag);
};
behaviorProto.exps = new Exps();
}());
;
;
cr.behaviors.Timer = function(runtime)
{
this.runtime = runtime;
};
(function ()
{
var behaviorProto = cr.behaviors.Timer.prototype;
behaviorProto.Type = function(behavior, objtype)
{
this.behavior = behavior;
this.objtype = objtype;
this.runtime = behavior.runtime;
};
var behtypeProto = behaviorProto.Type.prototype;
behtypeProto.onCreate = function()
{
};
behaviorProto.Instance = function(type, inst)
{
this.type = type;
this.behavior = type.behavior;
this.inst = inst; // associated object instance to modify
this.runtime = type.runtime;
};
var behinstProto = behaviorProto.Instance.prototype;
behinstProto.onCreate = function()
{
this.timers = {};
};
behinstProto.onDestroy = function ()
{
cr.wipe(this.timers);
};
behinstProto.saveToJSON = function ()
{
var o = {};
var p, t;
for (p in this.timers)
{
if (this.timers.hasOwnProperty(p))
{
t = this.timers[p];
o[p] = {
"c": t.current.sum,
"t": t.total.sum,
"d": t.duration,
"r": t.regular
};
}
}
return o;
};
behinstProto.loadFromJSON = function (o)
{
this.timers = {};
var p;
for (p in o)
{
if (o.hasOwnProperty(p))
{
this.timers[p] = {
current: new cr.KahanAdder(),
total: new cr.KahanAdder(),
duration: o[p]["d"],
regular: o[p]["r"]
};
this.timers[p].current.sum = o[p]["c"];
this.timers[p].total.sum = o[p]["t"];
}
}
};
behinstProto.tick = function ()
{
var dt = this.runtime.getDt(this.inst);
var p, t;
for (p in this.timers)
{
if (this.timers.hasOwnProperty(p))
{
t = this.timers[p];
t.current.add(dt);
t.total.add(dt);
}
}
};
behinstProto.tick2 = function ()
{
var p, t;
for (p in this.timers)
{
if (this.timers.hasOwnProperty(p))
{
t = this.timers[p];
if (t.current.sum >= t.duration)
{
if (t.regular)
t.current.sum -= t.duration;
else
delete this.timers[p];
}
}
}
};
function Cnds() {};
Cnds.prototype.OnTimer = function (tag_)
{
tag_ = tag_.toLowerCase();
var t = this.timers[tag_];
if (!t)
return false;
return t.current.sum >= t.duration;
};
behaviorProto.cnds = new Cnds();
function Acts() {};
Acts.prototype.StartTimer = function (duration_, type_, tag_)
{
this.timers[tag_.toLowerCase()] = {
current: new cr.KahanAdder(),
total: new cr.KahanAdder(),
duration: duration_,
regular: (type_ === 1)
};
};
Acts.prototype.StopTimer = function (tag_)
{
tag_ = tag_.toLowerCase();
if (this.timers.hasOwnProperty(tag_))
delete this.timers[tag_];
};
behaviorProto.acts = new Acts();
function Exps() {};
Exps.prototype.CurrentTime = function (ret, tag_)
{
var t = this.timers[tag_.toLowerCase()];
ret.set_float(t ? t.current.sum : 0);
};
Exps.prototype.TotalTime = function (ret, tag_)
{
var t = this.timers[tag_.toLowerCase()];
ret.set_float(t ? t.total.sum : 0);
};
Exps.prototype.Duration = function (ret, tag_)
{
var t = this.timers[tag_.toLowerCase()];
ret.set_float(t ? t.duration : 0);
};
behaviorProto.exps = new Exps();
}());
;
;
cr.behaviors.Turret = function(runtime)
{
this.runtime = runtime;
};
(function ()
{
var behaviorProto = cr.behaviors.Turret.prototype;
behaviorProto.Type = function(behavior, objtype)
{
this.behavior = behavior;
this.objtype = objtype;
this.runtime = behavior.runtime;
};
var behtypeProto = behaviorProto.Type.prototype;
behtypeProto.onCreate = function()
{
this.targetTypes = []; // object types to check for as targets
};
behaviorProto.Instance = function(type, inst)
{
this.type = type;
this.behavior = type.behavior;
this.inst = inst; // associated object instance to modify
this.runtime = type.runtime;
};
var behinstProto = behaviorProto.Instance.prototype;
behinstProto.onCreate = function()
{
this.range = this.properties[0];
this.rateOfFire = this.properties[1];
this.rotateEnabled = (this.properties[2] !== 0);
this.rotateSpeed = cr.to_radians(this.properties[3]);
this.targetMode = this.properties[4]; // 0 = first, 1 = nearest
this.predictiveAim = (this.properties[5] !== 0);
this.projectileSpeed = this.properties[6];
this.enabled = (this.properties[7] !== 0);
this.useCollisionCells = (this.properties[8] !== 0);
this.lastCheckTime = 0; // last time checked for targets in range
this.fireTimeCount = this.rateOfFire; // counts up to rate of fire before shooting. starts in fully reloaded state
this.currentTarget = null; // current target object
this.loadTargetUid = -1;
this.oldTargetX = 0;
this.oldTargetY = 0;
this.lastSpeeds = [0, 0, 0, 0];
this.speedsCount = 0;
this.firstTickWithTarget = true;
var self = this;
if (!this.recycled)
{
this.myDestroyCallback = function(inst) {
self.onInstanceDestroyed(inst);
};
}
this.runtime.addDestroyCallback(this.myDestroyCallback);
};
behinstProto.saveToJSON = function ()
{
var o = {
"r": this.range,
"rof": this.rateOfFire,
"re": this.rotateEnabled,
"rs": this.rotateSpeed,
"tm": this.targetMode,
"pa": this.predictiveAim,
"ps": this.projectileSpeed,
"en": this.enabled,
"lct": this.lastCheckTime,
"ftc": this.fireTimeCount,
"target": (this.currentTarget ? this.currentTarget.uid : -1),
"ox": this.oldTargetX,
"oy": this.oldTargetY,
"ls": this.lastSpeeds,
"sc": this.speedsCount,
"targs": []
};
var i, len;
for (i = 0, len = this.type.targetTypes.length; i < len; i++)
{
o["targs"].push(this.type.targetTypes[i].sid);
}
return o;
};
behinstProto.loadFromJSON = function (o)
{
this.range = o["r"];
this.rateOfFire = o["rof"];
this.rotateEnabled = o["re"];
this.rotateSpeed = o["rs"];
this.targetMode = o["tm"];
this.predictiveAim = o["pa"];
this.projectileSpeed = o["ps"];
this.enabled = o["en"];
this.lastCheckTime = o["lct"];
this.fireTimeCount = o["ftc"] || 0; // not in = this.lastCheckTime + 0.1)
{
this.lastCheckTime = nowtime;
if (this.targetMode === 0 && !this.currentTarget)
{
this.lookForFirstTarget();
if (this.currentTarget)
{
this.speedsCount = 0;
this.firstTickWithTarget = true;
this.oldTargetX = this.currentTarget.x;
this.oldTargetY = this.currentTarget.y;
this.runtime.trigger(cr.behaviors.Turret.prototype.cnds.OnTargetAcquired, this.inst);
}
}
else if (this.targetMode === 1)
{
var oldTarget = this.currentTarget;
this.lookForNearestTarget();
if (this.currentTarget && this.currentTarget !== oldTarget)
{
this.speedsCount = 0;
this.firstTickWithTarget = true;
this.oldTargetX = this.currentTarget.x;
this.oldTargetY = this.currentTarget.y;
this.runtime.trigger(cr.behaviors.Turret.prototype.cnds.OnTargetAcquired, this.inst);
}
}
}
this.fireTimeCount += dt;
if (this.currentTarget)
{
var targetAngle = cr.angleTo(inst.x, inst.y, this.currentTarget.x, this.currentTarget.y);
if (this.predictiveAim)
{
var Gx = inst.x;
var Gy = inst.y;
var Px = this.currentTarget.x;
var Py = this.currentTarget.y;
var h = cr.angleTo(Px, Py, this.oldTargetX, this.oldTargetY);
if (!this.firstTickWithTarget)
this.addSpeed(cr.distanceTo(Px, Py, this.oldTargetX, this.oldTargetY) / dt);
var s = this.getSpeed();
var q = Py - Gy;
var r = Px - Gx;
var w = (s * Math.sin(h) * (Gx - Px) - s * Math.cos(h) * (Gy - Py)) / this.projectileSpeed;
var a = (Math.asin(w / Math.sqrt(q * q + r * r)) - Math.atan2(q, -r)) + Math.PI;
if (!isNaN(a))
targetAngle = a;
}
if (this.rotateEnabled)
{
inst.angle = cr.angleRotate(inst.angle, targetAngle, this.rotateSpeed * dt);
inst.set_bbox_changed();
}
if ((this.fireTimeCount >= this.rateOfFire) &&
(!this.rotateEnabled || cr.to_degrees(cr.angleDiff(inst.angle, targetAngle)) <= 0.1) &&
(!this.predictiveAim || this.speedsCount >= 4))
{
this.fireTimeCount -= this.rateOfFire;
if (this.fireTimeCount >= this.rateOfFire)
this.fireTimeCount = 0;
this.runtime.trigger(cr.behaviors.Turret.prototype.cnds.OnShoot, this.inst);
}
if (this.currentTarget)
{
this.oldTargetX = this.currentTarget.x;
this.oldTargetY = this.currentTarget.y;
}
this.firstTickWithTarget = false;
}
if (this.fireTimeCount > this.rateOfFire)
this.fireTimeCount = this.rateOfFire;
};
function Cnds() {};
Cnds.prototype.HasTarget = function ()
{
return !!this.currentTarget;
};
Cnds.prototype.OnShoot = function ()
{
return true;
};
Cnds.prototype.OnTargetAcquired = function ()
{
return true;
};
behaviorProto.cnds = new Cnds();
function Acts() {};
Acts.prototype.AcquireTarget = function (obj_)
{
if (!obj_)
return;
var instances = obj_.getCurrentSol().getObjects();
var i, len, inst;
for (i = 0, len = instances.length; i < len; ++i)
{
inst = instances[i];
if (this.currentTarget !== inst && this.isInRange(inst))
{
this.currentTarget = inst;
this.speedsCount = 0;
this.firstTickWithTarget = true;
this.oldTargetX = this.currentTarget.x;
this.oldTargetY = this.currentTarget.y;
this.runtime.trigger(cr.behaviors.Turret.prototype.cnds.OnTargetAcquired, this.inst);
break;
}
}
};
Acts.prototype.AddTarget = function (obj_)
{
var targetTypes = this.type.targetTypes;
if (targetTypes.indexOf(obj_) !== -1)
return;
var i, len, t;
for (i = 0, len = targetTypes.length; i < len; i++)
{
t = targetTypes[i];
if (t.is_family && t.members.indexOf(obj_) !== -1)
return;
}
targetTypes.push(obj_);
};
Acts.prototype.ClearTargets = function ()
{
cr.clearArray(this.type.targetTypes);
};
Acts.prototype.UnacquireTarget = function ()
{
this.currentTarget = null;
this.speedsCount = 0;
this.firstTickWithTarget = true;
};
Acts.prototype.SetEnabled = function (e)
{
this.enabled = (e !== 0);
};
Acts.prototype.SetRange = function (r)
{
this.range = r;
};
Acts.prototype.SetRateOfFire = function (r)
{
this.rateOfFire = r;
};
Acts.prototype.SetRotate = function (r)
{
this.rotateEnabled = (r !== 0);
};
Acts.prototype.SetRotateSpeed = function (r)
{
this.rotateSpeed = cr.to_radians(r);
};
Acts.prototype.SetTargetMode = function (s)
{
this.targetMode = s;
};
Acts.prototype.SetPredictiveAim = function (s)
{
this.predictiveAim = (s !== 0);
};
Acts.prototype.SetProjectileSpeed = function (s)
{
this.projectileSpeed = s;
};
behaviorProto.acts = new Acts();
function Exps() {};
Exps.prototype.TargetUID = function (ret)
{
ret.set_int(this.currentTarget ? this.currentTarget.uid : 0);
};
Exps.prototype.Range = function (ret)
{
ret.set_float(this.range);
};
Exps.prototype.RateOfFire = function (ret)
{
ret.set_float(this.rateOfFire);
};
Exps.prototype.RotateSpeed = function (ret)
{
ret.set_float(cr.to_degrees(this.rotateSpeed));
};
behaviorProto.exps = new Exps();
}());
;
;
cr.behaviors.jumpthru = function(runtime)
{
this.runtime = runtime;
};
(function ()
{
var behaviorProto = cr.behaviors.jumpthru.prototype;
behaviorProto.Type = function(behavior, objtype)
{
this.behavior = behavior;
this.objtype = objtype;
this.runtime = behavior.runtime;
};
var behtypeProto = behaviorProto.Type.prototype;
behtypeProto.onCreate = function()
{
};
behaviorProto.Instance = function(type, inst)
{
this.type = type;
this.behavior = type.behavior;
this.inst = inst; // associated object instance to modify
this.runtime = type.runtime;
};
var behinstProto = behaviorProto.Instance.prototype;
behinstProto.onCreate = function()
{
this.inst.extra["jumpthruEnabled"] = (this.properties[0] !== 0);
};
behinstProto.tick = function ()
{
};
function Cnds() {};
Cnds.prototype.IsEnabled = function ()
{
return this.inst.extra["jumpthruEnabled"];
};
behaviorProto.cnds = new Cnds();
function Acts() {};
Acts.prototype.SetEnabled = function (e)
{
this.inst.extra["jumpthruEnabled"] = !!e;
};
behaviorProto.acts = new Acts();
}());
var easeOutBounceArray = [];
var easeInElasticArray = [];
var easeOutElasticArray = [];
var easeInOutElasticArray = [];
var easeInCircle = [];
var easeOutCircle = [];
var easeInOutCircle = [];
var easeInBack = [];
var easeOutBack = [];
var easeInOutBack = [];
var litetween_precision = 10000;
var updateLimit = 0; //0.0165;
function easeOutBouncefunc(t) {
var b=0.0;
var c=1.0;
var d=1.0;
if ((t/=d) < (1/2.75)) {
result = c*(7.5625*t*t) + b;
} else if (t < (2/2.75)) {
result = c*(7.5625*(t-=(1.5/2.75))*t + .75) + b;
} else if (t < (2.5/2.75)) {
result = c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b;
} else {
result = c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b;
}
return result;
}
function integerize(t, d)
{
return Math.round(t/d*litetween_precision);
}
function easeFunc(easing, t, b, c, d, flip, param)
{
var ret_ease = 0;
switch (easing) {
case 0: // linear
ret_ease = c*t/d + b;
break;
case 1: // easeInQuad
ret_ease = c*(t/=d)*t + b;
break;
case 2: // easeOutQuad
ret_ease = -c *(t/=d)*(t-2) + b;
break;
case 3: // easeInOutQuad
if ((t/=d/2) < 1)
ret_ease = c/2*t*t + b
else
ret_ease = -c/2 * ((--t)*(t-2) - 1) + b;
break;
case 4: // easeInCubic
ret_ease = c*(t/=d)*t*t + b;
break;
case 5: // easeOutCubic
ret_ease = c*((t=t/d-1)*t*t + 1) + b;
break;
case 6: // easeInOutCubic
if ((t/=d/2) < 1)
ret_ease = c/2*t*t*t + b
else
ret_ease = c/2*((t-=2)*t*t + 2) + b;
break;
case 7: // easeInQuart
ret_ease = c*(t/=d)*t*t*t + b;
break;
case 8: // easeOutQuart
ret_ease = -c * ((t=t/d-1)*t*t*t - 1) + b;
break;
case 9: // easeInOutQuart
if ((t/=d/2) < 1)
ret_ease = c/2*t*t*t*t + b
else
ret_ease = -c/2 * ((t-=2)*t*t*t - 2) + b;
break;
case 10: // easeInQuint
ret_ease = c*(t/=d)*t*t*t*t + b;
break;
case 11: // easeOutQuint
ret_ease = c*((t=t/d-1)*t*t*t*t + 1) + b;
break;
case 12: // easeInOutQuint
if ((t/=d/2) < 1)
ret_ease = c/2*t*t*t*t*t + b
else
ret_ease = c/2*((t-=2)*t*t*t*t + 2) + b;
break;
case 13: // easeInCircle
if (param.optimized) {
ret_ease = easeInCircle[integerize(t,d)];
} else {
ret_ease = -(Math.sqrt(1-t*t) - 1);
}
break;
case 14: // easeOutCircle
if (param.optimized) {
ret_ease = easeOutCircle[integerize(t,d)];
} else {
ret_ease = Math.sqrt(1 - ((t-1)*(t-1)));
}
break;
case 15: // easeInOutCircle
if (param.optimized) {
ret_ease = easeInOutCircle[integerize(t,d)];
} else {
if ((t/=d/2) < 1) ret_ease = -c/2 * (Math.sqrt(1 - t*t) - 1) + b
else ret_ease = c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b;
}
break;
case 16: // easeInBack
if (param.optimized) {
ret_ease = easeInBack[integerize(t,d)];
} else {
var s = param.s;
ret_ease = c*(t/=d)*t*((s+1)*t - s) + b;
}
break;
case 17: // easeOutBack
if (param.optimized) {
ret_ease = easeOutBack[integerize(t,d)];
} else {
var s = param.s;
ret_ease = c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;
}
break;
case 18: // easeInOutBack
if (param.optimized) {
ret_ease = easeInOutBack[integerize(t,d)];
} else {
var s = param.s
if ((t/=d/2) < 1)
ret_ease = c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b
else
ret_ease = c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b;
}
break;
case 19: //easeInElastic
if (param.optimized) {
ret_ease = easeInElasticArray[integerize(t, d)];
} else {
var a = param.a;
var p = param.p;
var s = 0;
if (t==0) ret_ease = b; if ((t/=d)==1) ret_ease = b+c;
if (p==0) p=d*.3; if (a==0 || a < Math.abs(c)) { a=c; s=p/4; }
else var s = p/(2*Math.PI) * Math.asin (c/a);
ret_ease = -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
}
break;
case 20: //easeOutElastic
if (param.optimized) {
ret_ease = easeOutElasticArray[integerize(t,d)];
} else {
var a = param.a;
var p = param.p;
var s = 0;
if (t==0) ret_ease= b; if ((t/=d)==1) ret_ease= b+c; if (p == 0) p=d*.3;
if (a==0 || a < Math.abs(c)) { a=c; var s=p/4; }
else var s = p/(2*Math.PI) * Math.asin (c/a);
ret_ease= (a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b);
}
break;
case 21: //easeInOutElastic
if (param.optimized) {
ret_ease = easeInOutElasticArray[integerize(t,d)];
} else {
var a = param.a;
var p = param.p;
var s = 0;
if (t==0) ret_ease = b;
if ((t/=d/2)==2) ret_ease = b+c;
if (p==0) p=d*(.3*1.5);
if (a==0 || a < Math.abs(c)) { a=c; var s=p/4; }
else var s = p/(2*Math.PI) * Math.asin (c/a);
if (t < 1)
ret_ease = -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b
else
ret_ease = a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b;
}
break;
case 22: //easeInBounce
if (param.optimized) {
ret_ease = c - easeOutBounceArray[integerize(d-t, d)] + b;
} else {
ret_ease = c - easeOutBouncefunc(d-t/d) + b;
}
break;
case 23: //easeOutBounce
if (param.optimized) {
ret_ease = easeOutBounceArray[integerize(t, d)];
} else {
ret_ease = easeOutBouncefunc(t/d);
}
break;
case 24: //easeInOutBounce
if (param.optimized) {
if (t < d/2)
ret_ease = (c - easeOutBounceArray[integerize(d-(t*2), d)] + b) * 0.5 +b;
else
ret_ease = easeOutBounceArray[integerize(t*2-d, d)] * .5 + c*.5 + b;
} else {
if (t < d/2)
ret_ease = (c - easeOutBouncefunc(d-(t*2)) + b) * 0.5 +b;
else
ret_ease = easeOutBouncefunc((t*2-d)/d) * .5 + c *.5 + b;
}
break;
case 25: //easeInSmoothstep
var mt = (t/d) / 2;
ret_ease = (2*(mt * mt * (3 - 2*mt)));
break;
case 26: //easeOutSmoothstep
var mt = ((t/d) + 1) / 2;
ret_ease = ((2*(mt * mt * (3 - 2*mt))) - 1);
break;
case 27: //easeInOutSmoothstep
var mt = (t / d);
ret_ease = (mt * mt * (3 - 2*mt));
break;
};
if (flip)
return (c - b) - ret_ease
else
return ret_ease;
};
(function preCalculateArray() {
var d = 1.0;
var b = 0.0;
var c = 1.0;
var result = 0.0;
var a = 0.0;
var p = 0.0;
var t = 0.0;
var s = 0.0;
for (var ti = 0; ti <= litetween_precision; ti++) {
t = ti/litetween_precision;
if ((t/=d) < (1/2.75)) {
result = c*(7.5625*t*t) + b;
} else if (t < (2/2.75)) {
result = c*(7.5625*(t-=(1.5/2.75))*t + .75) + b;
} else if (t < (2.5/2.75)) {
result = c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b;
} else {
result = c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b;
}
easeOutBounceArray[ti] = result;
t = ti/litetween_precision; a = 0; p = 0;
if (t==0) result = b; if ((t/=d)==1) result = b+c;
if (p==0) p=d*.3; if (a==0 || a < Math.abs(c)) { a=c; var s=p/4; }
else var s = p/(2*Math.PI) * Math.asin (c/a);
result = -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
easeInElasticArray[ti] = result;
t = ti/litetween_precision; a = 0; p = 0;
if (t==0) result= b; if ((t/=d)==1) result= b+c; if (p == 0) p=d*.3;
if (a==0 || a < Math.abs(c)) { a=c; var s=p/4; }
else var s = p/(2*Math.PI) * Math.asin (c/a);
result= (a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b);
easeOutElasticArray[ti] = result;
t = ti/litetween_precision; a = 0; p = 0;
if (t==0) result = b;
if ((t/=d/2)==2) result = b+c;
if (p==0) p=d*(.3*1.5);
if (a==0 || a < Math.abs(c)) { a=c; var s=p/4; }
else var s = p/(2*Math.PI) * Math.asin (c/a);
if (t < 1)
result = -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b
else
result = a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b;
easeInOutElasticArray[ti] = result;
t = ti/litetween_precision; easeInCircle[ti] = -(Math.sqrt(1-t*t) - 1);
t = ti/litetween_precision; easeOutCircle[ti] = Math.sqrt(1 - ((t-1)*(t-1)));
t = ti/litetween_precision;
if ((t/=d/2) < 1) result = -c/2 * (Math.sqrt(1 - t*t) - 1) + b
else result = c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b;
easeInOutCircle[ti] = result;
t = ti/litetween_precision; s = 0;
if (s==0) s = 1.70158;
result = c*(t/=d)*t*((s+1)*t - s) + b;
easeInBack[ti] = result;
t = ti/litetween_precision; s = 0;
if (s==0) s = 1.70158;
result = c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;
easeOutBack[ti] = result;
t = ti/litetween_precision; s = 0; if (s==0) s = 1.70158;
if ((t/=d/2) < 1)
result = c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b
else
result = c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b;
easeInOutBack[ti] = result;
}
}());
var TweenObject = function()
{
var constructor = function (tname, tweened, easefunc, initial, target, duration, enforce)
{
this.name = tname;
this.value = 0;
this.setInitial(initial);
this.setTarget(target);
this.easefunc = easefunc;
this.tweened = tweened;
this.duration = duration;
this.progress = 0;
this.state = 0;
this.onStart = false;
this.onEnd = false;
this.onReverseStart = false;
this.onReverseEnd = false;
this.lastKnownValue = 0;
this.lastKnownValue2 = 0;
this.enforce = enforce;
this.pingpong = 1.0;
this.flipEase = false;
this.easingparam = [];
for (var i=0; i<28; i++) {
this.easingparam[i] = {};
this.easingparam[i].a = 0.0;
this.easingparam[i].p = 0.0;
this.easingparam[i].t = 0.0;
this.easingparam[i].s = 0.0;
this.easingparam[i].optimized = true;
}
}
return constructor;
}();
(function () {
TweenObject.prototype = {
};
TweenObject.prototype.flipTarget = function ()
{
var x1 = this.initialparam1;
var x2 = this.initialparam2;
this.initialparam1 = this.targetparam1;
this.initialparam2 = this.targetparam2;
this.targetparam1 = x1;
this.targetparam2 = x2;
this.lastKnownValue = 0;
this.lastKnownValue2 = 0;
}
TweenObject.prototype.setInitial = function (initial)
{
this.initialparam1 = parseFloat(initial.split(",")[0]);
this.initialparam2 = parseFloat(initial.split(",")[1]);
this.lastKnownValue = 0;
this.lastKnownValue2 = 0;
}
TweenObject.prototype.setTarget = function (target)
{
this.targetparam1 = parseFloat(target.split(",")[0]);
this.targetparam2 = parseFloat(target.split(",")[1]);
if (isNaN(this.targetparam2)) this.targetparam2 = this.targetparam1;
}
TweenObject.prototype.OnTick = function(dt)
{
if (this.state === 0) return -1.0;
if (this.state === 1)
this.progress += dt;
if (this.state === 2)
this.progress -= dt;
if (this.state === 3) {
this.state = 0;
}
if ((this.state === 4) || (this.state === 6)) {
this.progress += dt * this.pingpong;
}
if (this.state === 5) {
this.progress += dt * this.pingpong;
}
if (this.progress < 0) {
this.progress = 0;
if (this.state === 4) {
this.pingpong = 1;
} else if (this.state === 6) {
this.pingpong = 1;
this.flipEase = false;
} else {
this.state = 0;
}
this.onReverseEnd = true;
return 0.0;
} else if (this.progress > this.duration) {
this.progress = this.duration;
if (this.state === 4) {
this.pingpong = -1;
} else if (this.state === 6) {
this.pingpong = -1;
this.flipEase = true;
} else if (this.state === 5) {
this.progress = 0.0;
} else {
this.state = 0;
}
this.onEnd = true;
return 1.0;
} else {
if (this.flipEase) {
var factor = easeFunc(this.easefunc, this.duration - this.progress, 0, 1, this.duration, this.flipEase, this.easingparam[this.easefunc]);
} else {
var factor = easeFunc(this.easefunc, this.progress, 0, 1, this.duration, this.flipEase, this.easingparam[this.easefunc]);
}
return factor;
}
};
}());
;
;
function trim (str) {
return str.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
}
cr.behaviors.lunarray_LiteTween = function(runtime)
{
this.runtime = runtime;
};
(function ()
{
var behaviorProto = cr.behaviors.lunarray_LiteTween.prototype;
behaviorProto.Type = function(behavior, objtype)
{
this.behavior = behavior;
this.objtype = objtype;
this.runtime = behavior.runtime;
};
var behtypeProto = behaviorProto.Type.prototype;
behtypeProto.onCreate = function()
{
};
behaviorProto.Instance = function(type, inst)
{
this.type = type;
this.behavior = type.behavior;
this.inst = inst; // associated object instance to modify
this.runtime = type.runtime;
this.i = 0; // progress
};
var behinstProto = behaviorProto.Instance.prototype;
behinstProto.onCreate = function()
{
this.playmode = this.properties[0];
this.active = (this.playmode == 1) || (this.playmode == 2) || (this.playmode == 3) || (this.playmode == 4);
this.tweened = this.properties[1]; // 0=Position|1=Size|2=Width|3=Height|4=Angle|5=Opacity|6=Value only|7=Horizontal|8=Vertical|9=Scale
this.easing = this.properties[2];
this.target = this.properties[3];
this.targetmode = this.properties[4];
this.useCurrent = false;
if (this.targetmode === 1) this.target = "relative("+this.target+")";
this.duration = this.properties[5];
this.enforce = (this.properties[6] === 1);
this.value = 0;
this.tween_list = {};
this.addToTweenList("default", this.tweened, this.easing, "current", this.target, this.duration, this.enforce);
if (this.properties[0] === 1) this.startTween(0)
if (this.properties[0] === 2) this.startTween(2)
if (this.properties[0] === 3) this.startTween(3)
if (this.properties[0] === 4) this.startTween(4)
};
behinstProto.parseCurrent = function(tweened, parseText)
{
if (parseText === undefined) parseText = "current";
var parsed = trim(parseText);
parseText = trim(parseText);
var value = this.value;
if (parseText === "current") {
switch (tweened) {
case 0: parsed = this.inst.x + "," + this.inst.y; break;
case 1: parsed = this.inst.width + "," + this.inst.height; break;
case 2: parsed = this.inst.width + "," + this.inst.height; break;
case 3: parsed = this.inst.width + "," + this.inst.height; break;
case 4: parsed = cr.to_degrees(this.inst.angle) + "," + cr.to_degrees(this.inst.angle); break;
case 5: parsed = (this.inst.opacity*100) + "," + (this.inst.opacity*100); break;
case 6: parsed = value + "," + value; break;
case 7: parsed = this.inst.x + "," + this.inst.y; break;
case 8: parsed = this.inst.x + "," + this.inst.y; break;
case 9:
if (this.inst.curFrame !== undefined)
parsed = (this.inst.width/this.inst.curFrame.width) + "," +(this.inst.height/this.inst.curFrame.height)
else
parsed = "1,1";
break;
default: break;
}
}
if (parseText.substring(0,8) === "relative") {
var param1 = parseText.match(/\((.*?)\)/);
if (param1) {
var relativex = parseFloat(param1[1].split(",")[0]);
var relativey = parseFloat(param1[1].split(",")[1]);
}
if (isNaN(relativex)) relativex = 0;
if (isNaN(relativey)) relativey = 0;
switch (tweened) {
case 0: parsed = (this.inst.x+relativex) + "," + (this.inst.y+relativey); break;
case 1: parsed = (this.inst.width+relativex) + "," + (this.inst.height+relativey); break;
case 2: parsed = (this.inst.width+relativex) + "," + (this.inst.height+relativey); break;
case 3: parsed = (this.inst.width+relativex) + "," + (this.inst.height+relativey); break;
case 4: parsed = (cr.to_degrees(this.inst.angle)+relativex) + "," + (cr.to_degrees(this.inst.angle)+relativey); break;
case 5: parsed = (this.inst.opacity*100+relativex) + "," + (this.inst.opacity*100+relativey); break;
case 6: parsed = value+relativex + "," + value+relativex; break;
case 7: parsed = (this.inst.x+relativex) + "," + (this.inst.y); break;
case 8: parsed = (this.inst.x) + "," + (this.inst.y+relativex); break;
case 9: parsed = (relativex) + "," + (relativey); break;
default: break;
}
}
return parsed;
};
behinstProto.addToTweenList = function(tname, tweened, easing, init, targ, duration, enforce)
{
init = this.parseCurrent(tweened, init);
targ = this.parseCurrent(tweened, targ);
if (this.tween_list[tname] !== undefined) {
delete this.tween_list[tname]
}
this.tween_list[tname] = new TweenObject(tname, tweened, easing, init, targ, duration, enforce);
this.tween_list[tname].dt = 0;
};
behinstProto.saveToJSON = function ()
{
var v = JSON.stringify(this.tween_list["default"]);
return {
"playmode": this.playmode,
"active": this.active,
"tweened": this.tweened,
"easing": this.easing,
"target": this.target,
"targetmode": this.targetmode,
"useCurrent": this.useCurrent,
"duration": this.duration,
"enforce": this.enforce,
"value": this.value,
"tweenlist": JSON.stringify(this.tween_list["default"])
};
};
TweenObject.Load = function(rawObj, tname, tweened, easing, init, targ, duration, enforce)
{
var obj = new TweenObject(tname, tweened, easing, init, targ, duration, enforce);
for(var i in rawObj)
obj[i] = rawObj[i];
return obj;
};
behinstProto.loadFromJSON = function (o)
{
var x = JSON.parse(o["tweenlist"]);
var tempObj = TweenObject.Load(x, x.name, x.tweened, x.easefunc, x.initialparam1+","+x.initialparam2, x.targetparam1+","+x.targetparam2, x.duration, x.enforce);
console.log(tempObj);
this.tween_list["default"] = tempObj;
this.playmode = o["playmode"];
this.active = o["active"];
this.movement = o["tweened"];
this.easing = o["easing"];
this.target = o["target"];
this.targetmode = o["targetmode"];
this.useCurrent = o["useCurrent"];
this.duration = o["duration"];
this.enforce = o["enforce"];
this.value = o["value"];
};
behinstProto.setProgressTo = function (mark)
{
if (mark > 1.0) mark = 1.0;
if (mark < 0.0) mark = 0.0;
for (var i in this.tween_list) {
var inst = this.tween_list[i];
inst.lastKnownValue = 0;
inst.lastKnownValue2 = 0;
inst.state = 3;
inst.progress = mark * inst.duration;
var factor = inst.OnTick(0);
this.updateTween(inst, factor);
}
}
behinstProto.startTween = function (startMode)
{
for (var i in this.tween_list) {
var inst = this.tween_list[i];
if (this.useCurrent) {
var init = this.parseCurrent(inst.tweened, "current");
var target = this.parseCurrent(inst.tweened, this.target);
inst.setInitial(init);
inst.setTarget(target);
}
if (startMode === 0) {
inst.progress = 0.000001;
inst.lastKnownValue = 0;
inst.lastKnownValue2 = 0;
inst.onStart = true;
inst.state = 1;
}
if (startMode === 1) {
inst.state = 1;
}
if ((startMode === 2) || (startMode === 4)) {
inst.progress = 0.000001;
inst.lastKnownValue = 0;
inst.lastKnownValue2 = 0;
inst.onStart = true;
if (startMode == 2) inst.state = 4; //state ping pong
if (startMode == 4) inst.state = 6; //state flip flop
}
if (startMode === 3) {
inst.progress = 0.000001;
inst.lastKnownValue = 0;
inst.lastKnownValue2 = 0;
inst.onStart = true;
inst.state = 5;
}
}
}
behinstProto.stopTween = function (stopMode)
{
for (var i in this.tween_list) {
var inst = this.tween_list[i];
if (stopMode === 1) inst.progress = 0.0;
if (stopMode === 2) inst.progress = inst.duration;
inst.state = 3;
var factor = inst.OnTick(0);
this.updateTween(inst, factor);
}
}
behinstProto.reverseTween = function(reverseMode)
{
for (var i in this.tween_list) {
var inst = this.tween_list[i];
if (reverseMode === 1) {
inst.progress = inst.duration;
inst.lastKnownValue = 0;
inst.lastKnownValue2 = 0;
inst.onReverseStart = true;
}
inst.state = 2;
}
}
behinstProto.updateTween = function (inst, factor)
{
var isMirrored = 1;
var isFlipped = 1;
if (this.inst.width < 0) isMirrored = -1;
if (this.inst.height < 0) isFlipped = -1;
if (inst.tweened === 0) {
if (inst.enforce) {
this.inst.x = inst.initialparam1 + (inst.targetparam1 - inst.initialparam1) * factor;
this.inst.y = inst.initialparam2 + (inst.targetparam2 - inst.initialparam2) * factor;
} else {
this.inst.x += ((inst.targetparam1 - inst.initialparam1) * factor) - inst.lastKnownValue;
this.inst.y += ((inst.targetparam2 - inst.initialparam2) * factor) - inst.lastKnownValue2;
inst.lastKnownValue = ((inst.targetparam1 - inst.initialparam1) * factor);
inst.lastKnownValue2 = ((inst.targetparam2 - inst.initialparam2) * factor);
}
} else if (inst.tweened === 1) {
if (inst.enforce) {
this.inst.width = (isMirrored * inst.initialparam1 + ((inst.targetparam1 - inst.initialparam1) * (factor * isMirrored)));
this.inst.height = (isFlipped * inst.initialparam2 + ((inst.targetparam2 - inst.initialparam2) * (factor * isFlipped)));
} else {
this.inst.width += (isMirrored *(inst.targetparam1 - inst.initialparam1) * factor) - inst.lastKnownValue;
this.inst.height += (isFlipped *(inst.targetparam2 - inst.initialparam2) * factor) - inst.lastKnownValue2;
inst.lastKnownValue = (isMirrored *(inst.targetparam1 - inst.initialparam1) * factor);
inst.lastKnownValue2 = (isFlipped *(inst.targetparam2 - inst.initialparam2) * factor);
}
} else if (inst.tweened === 2) {
if (inst.enforce) {
this.inst.width = (isMirrored * inst.initialparam1 + ((inst.targetparam1 - inst.initialparam1) * (factor * isMirrored)));
} else {
this.inst.width += (isMirrored *(inst.targetparam1 - inst.initialparam1) * factor) - inst.lastKnownValue;
inst.lastKnownValue = (isMirrored *(inst.targetparam1 - inst.initialparam1) * factor);
}
} else if (inst.tweened === 3) {
if (inst.enforce) {
this.inst.height = (isFlipped * inst.initialparam2 + ((inst.targetparam2 - inst.initialparam2) * (factor * isFlipped)));
} else {
this.inst.height += (isFlipped * (inst.targetparam2 - inst.initialparam2) * factor) - inst.lastKnownValue2;
inst.lastKnownValue2 = (isFlipped * (inst.targetparam2 - inst.initialparam2) * factor);
}
} else if (inst.tweened === 4) {
if (inst.enforce) {
var tangle = inst.initialparam1 + (inst.targetparam1 - inst.initialparam1) * factor;
this.inst.angle = cr.clamp_angle(cr.to_radians(tangle));
} else {
var tangle = ((inst.targetparam1 - inst.initialparam1) * factor) - inst.lastKnownValue;
this.inst.angle = cr.clamp_angle(this.inst.angle + cr.to_radians(tangle));
inst.lastKnownValue = (inst.targetparam1 - inst.initialparam1) * factor;
}
} else if (inst.tweened === 5) {
if (inst.enforce) {
this.inst.opacity = (inst.initialparam1 + (inst.targetparam1 - inst.initialparam1) * factor) / 100;
} else {
this.inst.opacity += (((inst.targetparam1 - inst.initialparam1) * factor) - inst.lastKnownValue) / 100;
inst.lastKnownValue = ((inst.targetparam1 - inst.initialparam1) * factor);
}
} else if (inst.tweened === 6) {
if (inst.enforce) {
this.value = (inst.initialparam1 + (inst.targetparam1 - inst.initialparam1) * factor);
} else {
this.value += (((inst.targetparam1 - inst.initialparam1) * factor) - inst.lastKnownValue);
inst.lastKnownValue = ((inst.targetparam1 - inst.initialparam1) * factor);
}
} else if (inst.tweened === 7) {
if (inst.enforce) {
this.inst.x = inst.initialparam1 + (inst.targetparam1 - inst.initialparam1) * factor;
} else {
this.inst.x += ((inst.targetparam1 - inst.initialparam1) * factor) - inst.lastKnownValue;
inst.lastKnownValue = ((inst.targetparam1 - inst.initialparam1) * factor);
}
} else if (inst.tweened === 8) {
if (inst.enforce) {
this.inst.y = inst.initialparam2 + (inst.targetparam2 - inst.initialparam2) * factor;
} else {
this.inst.y += ((inst.targetparam2 - inst.initialparam2) * factor) - inst.lastKnownValue2;
inst.lastKnownValue2 = ((inst.targetparam2 - inst.initialparam2) * factor);
}
} else if (inst.tweened === 9) {
var scalex = inst.initialparam1 + (inst.targetparam1 - inst.initialparam1) * factor;
var scaley = inst.initialparam2 + (inst.targetparam2 - inst.initialparam2) * factor;
if (this.inst.width < 0) scalex = inst.initialparam1 + (inst.targetparam1 + inst.initialparam1) * -factor;
if (this.inst.height < 0) scaley = inst.initialparam2 + (inst.targetparam2 + inst.initialparam2) * -factor;
if (inst.enforce) {
this.inst.width = this.inst.curFrame.width * scalex;
this.inst.height = this.inst.curFrame.height * scaley;
} else {
if (this.inst.width < 0) {
this.inst.width = scalex * (this.inst.width / (-1+inst.lastKnownValue));
inst.lastKnownValue = scalex + 1
} else {
this.inst.width = scalex * (this.inst.width / (1+inst.lastKnownValue));
inst.lastKnownValue = scalex - 1;
}
if (this.inst.height < 0) {
this.inst.height = scaley * (this.inst.height / (-1+inst.lastKnownValue2));
inst.lastKnownValue2 = scaley + 1
} else {
this.inst.height = scaley * (this.inst.height / (1+inst.lastKnownValue2));
inst.lastKnownValue2 = scaley - 1;
}
}
}
this.inst.set_bbox_changed();
}
behinstProto.tick = function ()
{
var dt = this.runtime.getDt(this.inst);
var inst = this.tween_list["default"];
if (inst.state !== 0) {
if (inst.onStart) {
this.runtime.trigger(cr.behaviors.lunarray_LiteTween.prototype.cnds.OnStart, this.inst);
inst.onStart = false;
}
if (inst.onReverseStart) {
this.runtime.trigger(cr.behaviors.lunarray_LiteTween.prototype.cnds.OnReverseStart, this.inst);
inst.onReverseStart = false;
}
this.active = (inst.state == 1) || (inst.state == 2) || (inst.state == 4) || (inst.state == 5) || (inst.state == 6);
var factor = inst.OnTick(dt);
this.updateTween(inst, factor);
if (inst.onEnd) {
this.runtime.trigger(cr.behaviors.lunarray_LiteTween.prototype.cnds.OnEnd, this.inst);
inst.onEnd = false;
}
if (inst.onReverseEnd) {
this.runtime.trigger(cr.behaviors.lunarray_LiteTween.prototype.cnds.OnReverseEnd, this.inst);
inst.onReverseEnd = false;
}
}
};
behaviorProto.cnds = {};
var cnds = behaviorProto.cnds;
cnds.IsActive = function ()
{
return (this.tween_list["default"].state !== 0);
};
cnds.IsReversing = function ()
{
return (this.tween_list["default"].state == 2);
};
cnds.CompareProgress = function (cmp, v)
{
var inst = this.tween_list["default"];
return cr.do_cmp((inst.progress / inst.duration), cmp, v);
};
cnds.OnThreshold = function (cmp, v)
{
var inst = this.tween_list["default"];
this.threshold = (cr.do_cmp((inst.progress / inst.duration), cmp, v));
var ret = (this.oldthreshold != this.threshold) && (this.threshold);
if (ret) {
this.oldthreshold = this.threshold;
}
return ret;
};
cnds.OnStart = function ()
{
if (this.tween_list["default"] === undefined)
return false;
return this.tween_list["default"].onStart;
};
cnds.OnReverseStart = function ()
{
if (this.tween_list["default"] === undefined)
return false;
return this.tween_list["default"].onReverseStart;
};
cnds.OnEnd = function ()
{
if (this.tween_list["default"] === undefined)
return false;
return this.tween_list["default"].onEnd;
};
cnds.OnReverseEnd = function ()
{
if (this.tween_list["default"] === undefined)
return false;
return this.tween_list["default"].onReverseEnd;
};
behaviorProto.acts = {};
var acts = behaviorProto.acts;
acts.Start = function (startmode, current)
{
this.threshold = false;
this.oldthreshold = false;
this.useCurrent = (current == 1);
this.startTween(startmode);
};
acts.Stop = function (stopmode)
{
this.stopTween(stopmode);
};
acts.Reverse = function (revMode)
{
this.threshold = false;
this.oldthreshold = false;
this.reverseTween(revMode);
};
acts.ProgressTo = function (progress)
{
this.setProgressTo(progress);
};
acts.SetDuration = function (x)
{
if (isNaN(x)) return;
if (x < 0) return;
if (this.tween_list["default"] === undefined) return;
this.tween_list["default"].duration = x;
};
acts.SetEnforce = function (x)
{
if (this.tween_list["default"] === undefined) return;
this.tween_list["default"].enforce = (x===1);
};
acts.SetInitial = function (x)
{
if (this.tween_list["default"] === undefined) return;
var init = this.parseCurrent(this.tween_list["default"].tweened, x);
this.tween_list["default"].setInitial(init);
};
acts.SetTarget = function (targettype, absrel, x)
{
if (this.tween_list["default"] === undefined) return;
if (isNaN(x)) return;
var inst = this.tween_list["default"];
var parsed = x + "";
this.targetmode = absrel;
var x1 = "";
var x2 = "";
if (absrel === 1) {
this.target = "relative(" + parsed + ")";
switch (targettype) {
case 0: x1 = (this.inst.x + x); x2 = inst.targetparam2; break;
case 1: x1 = inst.targetparam1; x2 = (this.inst.y + x); break;
case 2: x1 = "" + cr.to_degrees(this.inst.angle + cr.to_radians(x)); x2 = x1; break; //angle
case 3: x1 = "" + (this.inst.opacity*100) + x; x2 = x1; break; //opacity
case 4: x1 = (this.inst.width + x); x2 = inst.targetparam2; break; //width
case 5: x1 = inst.targetparam1; x2 = (this.inst.height + x); break; //height
case 6: x1 = x; x2 = x; break; //value
default: break;
}
parsed = x1 + "," + x2;
} else {
switch (targettype) {
case 0: x1 = x; x2 = inst.targetparam2; break;
case 1: x1 = inst.targetparam1; x2 = x; break;
case 2: x1 = x; x2 = x; break; //angle
case 3: x1 = x; x2 = x; break; //opacity
case 4: x1 = x; x2 = inst.targetparam2; break; //width
case 5: x1 = inst.targetparam1; x2 = x; break; //height
case 6: x1 = x; x2 = x; break; //value
default: break;
}
parsed = x1 + "," + x2;
this.target = parsed;
}
var init = this.parseCurrent(this.tween_list["default"].tweened, "current");
var targ = this.parseCurrent(this.tween_list["default"].tweened, parsed);
inst.setInitial(init);
inst.setTarget(targ);
};
acts.SetTweenedProperty = function (x)
{
if (this.tween_list["default"] === undefined) return;
this.tween_list["default"].tweened = x;
};
acts.SetEasing = function (x)
{
if (this.tween_list["default"] === undefined) return;
this.tween_list["default"].easefunc = x;
};
acts.SetEasingParam = function (x, a, p, t, s)
{
if (this.tween_list["default"] === undefined) return;
this.tween_list["default"].easingparam[x].optimized = false;
this.tween_list["default"].easingparam[x].a = a;
this.tween_list["default"].easingparam[x].p = p;
this.tween_list["default"].easingparam[x].t = t;
this.tween_list["default"].easingparam[x].s = s;
};
acts.ResetEasingParam = function ()
{
if (this.tween_list["default"] === undefined) return;
this.tween_list["default"].optimized = true;
};
acts.SetValue = function (x)
{
var inst = this.tween_list["default"];
this.value = x;
if (inst.tweened === 6)
inst.setInitial( this.parseCurrent(inst.tweened, "current") );
};
acts.SetParameter = function (tweened, easefunction, target, duration, enforce)
{
if (this.tween_list["default"] === undefined) {
this.addToTweenList("default", tweened, easefunction, initial, target, duration, enforce, 0);
} else {
var inst = this.tween_list["default"];
inst.tweened = tweened;
inst.easefunc = easefunction;
inst.setInitial( this.parseCurrent(tweened, "current") );
inst.setTarget( this.parseCurrent(tweened, target) );
inst.duration = duration;
inst.enforce = (enforce === 1);
}
};
behaviorProto.exps = {};
var exps = behaviorProto.exps;
exps.State = function (ret)
{
var parsed = "N/A";
switch (this.tween_list["default"].state) {
case 0: parsed = "paused"; break;
case 1: parsed = "playing"; break;
case 2: parsed = "reversing"; break;
case 3: parsed = "seeking"; break;
default: break;
}
ret.set_string(parsed);
};
exps.Progress = function (ret)
{
var progress = this.tween_list["default"].progress/this.tween_list["default"].duration;
ret.set_float(progress);
};
exps.Duration = function (ret)
{
ret.set_float(this.tween_list["default"].duration);
};
exps.Target = function (ret)
{
var inst = this.tween_list["default"];
var parsed = "N/A";
switch (inst.tweened) {
case 0: parsed = inst.targetparam1; break;
case 1: parsed = inst.targetparam2; break;
case 2: parsed = inst.targetparam1; break;
case 3: parsed = inst.targetparam1; break;
case 4: parsed = inst.targetparam1; break;
case 5: parsed = inst.targetparam2; break;
case 6: parsed = inst.targetparam1; break;
default: break;
}
ret.set_float(parsed);
};
exps.Value = function (ret)
{
var tval = this.value;
ret.set_float(tval);
};
exps.Tween = function (ret, a_, b_, x_, easefunc_)
{
var currX = (x_>1.0?1.0:x_);
var factor = easeFunc(easefunc_, currX<0.0?0.0:currX, 0.0, 1.0, 1.0, false, false);
ret.set_float(a_ + factor * (b_-a_));
};
}());
;
;
cr.behaviors.solid = function(runtime)
{
this.runtime = runtime;
};
(function ()
{
var behaviorProto = cr.behaviors.solid.prototype;
behaviorProto.Type = function(behavior, objtype)
{
this.behavior = behavior;
this.objtype = objtype;
this.runtime = behavior.runtime;
};
var behtypeProto = behaviorProto.Type.prototype;
behtypeProto.onCreate = function()
{
};
behaviorProto.Instance = function(type, inst)
{
this.type = type;
this.behavior = type.behavior;
this.inst = inst; // associated object instance to modify
this.runtime = type.runtime;
};
var behinstProto = behaviorProto.Instance.prototype;
behinstProto.onCreate = function()
{
this.inst.extra["solidEnabled"] = (this.properties[0] !== 0);
};
behinstProto.tick = function ()
{
};
function Cnds() {};
Cnds.prototype.IsEnabled = function ()
{
return this.inst.extra["solidEnabled"];
};
behaviorProto.cnds = new Cnds();
function Acts() {};
Acts.prototype.SetEnabled = function (e)
{
this.inst.extra["solidEnabled"] = !!e;
};
behaviorProto.acts = new Acts();
}());
;
;
cr.behaviors.wrap = function(runtime)
{
this.runtime = runtime;
};
(function ()
{
var behaviorProto = cr.behaviors.wrap.prototype;
behaviorProto.Type = function(behavior, objtype)
{
this.behavior = behavior;
this.objtype = objtype;
this.runtime = behavior.runtime;
};
var behtypeProto = behaviorProto.Type.prototype;
behtypeProto.onCreate = function()
{
};
behaviorProto.Instance = function(type, inst)
{
this.type = type;
this.behavior = type.behavior;
this.inst = inst; // associated object instance to modify
this.runtime = type.runtime;
};
var behinstProto = behaviorProto.Instance.prototype;
behinstProto.onCreate = function()
{
this.mode = this.properties[0]; // 0 = wrap to layout, 1 = wrap to viewport
};
behinstProto.tick = function ()
{
var inst = this.inst;
inst.update_bbox();
var bbox = inst.bbox;
var layer = inst.layer;
var layout = layer.layout;
var lbound = 0, rbound = 0, tbound = 0, bbound = 0;
if (this.mode === 0)
{
rbound = layout.width;
bbound = layout.height;
}
else
{
lbound = layer.viewLeft;
rbound = layer.viewRight;
tbound = layer.viewTop;
bbound = layer.viewBottom;
}
if (bbox.right < lbound)
{
inst.x = (rbound - 1) + (inst.x - bbox.left);
inst.set_bbox_changed();
}
else if (bbox.left > rbound)
{
inst.x = (lbound + 1) - (bbox.right - inst.x);
inst.set_bbox_changed();
}
else if (bbox.bottom < tbound)
{
inst.y = (bbound - 1) + (inst.y - bbox.top);
inst.set_bbox_changed();
}
else if (bbox.top > bbound)
{
inst.y = (tbound + 1) - (bbox.bottom - inst.y);
inst.set_bbox_changed();
}
};
}());
cr.getObjectRefTable = function () { return [
cr.plugins_.Audio,
cr.plugins_.Browser,
cr.plugins_.Function,
cr.plugins_.Particles,
cr.plugins_.gamepad,
cr.plugins_.Keyboard,
cr.plugins_.Kongregate,
cr.plugins_.LocalStorage,
cr.plugins_.Mouse,
cr.plugins_.TiledBg,
cr.plugins_.Text,
cr.plugins_.Spriter,
cr.plugins_.video,
cr.plugins_.Sprite,
cr.plugins_.Spritefont2,
cr.plugins_.Tilemap,
cr.plugins_.MagiCam,
cr.behaviors.solid,
cr.behaviors.Platform,
cr.behaviors.lunarray_LiteTween,
cr.behaviors.Timer,
cr.behaviors.Flash,
cr.behaviors.Physics,
cr.behaviors.Sin,
cr.behaviors.jumpthru,
cr.behaviors.EightDir,
cr.behaviors.Persist,
cr.behaviors.Pin,
cr.behaviors.Rotate,
cr.behaviors.Bullet,
cr.behaviors.Turret,
cr.behaviors.LOS,
cr.behaviors.Fade,
cr.behaviors.wrap,
cr.system_object.prototype.cnds.OnLayoutStart,
cr.plugins_.MagiCam.prototype.acts.CreateLocalCamera,
cr.plugins_.Sprite.prototype.acts.SetEffectEnabled,
cr.behaviors.Platform.prototype.acts.SetIgnoreInput,
cr.system_object.prototype.cnds.For,
cr.system_object.prototype.exps["int"],
cr.plugins_.Tilemap.prototype.exps.Width,
cr.plugins_.Tilemap.prototype.exps.Height,
cr.plugins_.Tilemap.prototype.cnds.CompareTileAt,
cr.system_object.prototype.exps.loopindex,
cr.system_object.prototype.acts.CreateObject,
cr.plugins_.Tilemap.prototype.exps.TileToPositionX,
cr.plugins_.Tilemap.prototype.exps.TileToPositionY,
cr.system_object.prototype.cnds.CompareVar,
cr.plugins_.Audio.prototype.acts.SetSilent,
cr.plugins_.Text.prototype.cnds.CompareInstanceVar,
cr.system_object.prototype.acts.Wait,
cr.plugins_.Text.prototype.acts.SetVisible,
cr.system_object.prototype.acts.WaitForSignal,
cr.system_object.prototype.cnds.CompareTime,
cr.system_object.prototype.acts.SetVar,
cr.system_object.prototype.cnds.TriggerOnce,
cr.plugins_.Sprite.prototype.acts.SetPos,
cr.plugins_.Keyboard.prototype.cnds.IsKeyDown,
cr.plugins_.gamepad.prototype.cnds.IsButtonDown,
cr.plugins_.Text.prototype.acts.Destroy,
cr.behaviors.Fade.prototype.acts.StartFade,
cr.plugins_.Sprite.prototype.acts.Destroy,
cr.plugins_.Sprite.prototype.cnds.IsOnLayer,
cr.system_object.prototype.cnds.IsGroupActive,
cr.plugins_.Keyboard.prototype.cnds.OnKey,
cr.plugins_.gamepad.prototype.cnds.OnButtonDown,
cr.plugins_.Sprite.prototype.cnds.IsOverlapping,
cr.plugins_.MagiCam.prototype.cnds.TransitionIsInProgress,
cr.system_object.prototype.cnds.RegexTest,
cr.plugins_.MagiCam.prototype.acts.TransitionToPoint,
cr.plugins_.TiledBg.prototype.exps.X,
cr.plugins_.TiledBg.prototype.exps.Y,
cr.system_object.prototype.acts.SetObjectTimescale,
cr.plugins_.Sprite.prototype.acts.SetVisible,
cr.plugins_.Spritefont2.prototype.acts.SetVisible,
cr.system_object.prototype.acts.AddVar,
cr.plugins_.Audio.prototype.acts.Stop,
cr.plugins_.Audio.prototype.acts.Play,
cr.behaviors.lunarray_LiteTween.prototype.acts.SetTarget,
cr.behaviors.lunarray_LiteTween.prototype.acts.Start,
cr.system_object.prototype.cnds.Else,
cr.plugins_.Text.prototype.acts.SetText,
cr.plugins_.Sprite.prototype.exps.X,
cr.plugins_.Sprite.prototype.exps.Y,
cr.system_object.prototype.acts.Signal,
cr.system_object.prototype.acts.SetLayerEffectParam,
cr.system_object.prototype.acts.SetLayerEffectEnabled,
cr.plugins_.MagiCam.prototype.acts.TransitionToZoom,
cr.plugins_.LocalStorage.prototype.acts.SetItem,
cr.plugins_.LocalStorage.prototype.cnds.IsProcessingSets,
cr.behaviors.Platform.prototype.acts.SetEnabled,
cr.behaviors.Platform.prototype.acts.SetGravity,
cr.behaviors.Platform.prototype.acts.SetMaxFallSpeed,
cr.behaviors.Platform.prototype.acts.SimulateControl,
cr.behaviors.Platform.prototype.cnds.OnJump,
cr.behaviors.Platform.prototype.cnds.IsOnFloor,
cr.behaviors.Timer.prototype.acts.StartTimer,
cr.plugins_.Sprite.prototype.acts.SetBoolInstanceVar,
cr.behaviors.Platform.prototype.acts.SetDeceleration,
cr.behaviors.Platform.prototype.cnds.IsFalling,
cr.plugins_.Sprite.prototype.cnds.IsBoolInstanceVarSet,
cr.system_object.prototype.cnds.Compare,
cr.behaviors.Timer.prototype.exps.CurrentTime,
cr.behaviors.Platform.prototype.acts.SetVectorY,
cr.behaviors.Platform.prototype.cnds.IsByWall,
cr.plugins_.gamepad.prototype.cnds.CompareAxis,
cr.behaviors.Platform.prototype.acts.SetVectorX,
cr.behaviors.Platform.prototype.cnds.IsJumping,
cr.behaviors.Timer.prototype.acts.StopTimer,
cr.behaviors.Platform.prototype.exps.VectorY,
cr.plugins_.Sprite.prototype.cnds.OnCollision,
cr.behaviors.Platform.prototype.cnds.OnFall,
cr.behaviors.lunarray_LiteTween.prototype.acts.Reverse,
cr.plugins_.Sprite.prototype.exps.UID,
cr.system_object.prototype.cnds.PickByComparison,
cr.plugins_.Sprite.prototype.acts.SetOpacity,
cr.behaviors.Flash.prototype.acts.Flash,
cr.plugins_.Sprite.prototype.cnds.IsOverlappingOffset,
cr.plugins_.Sprite.prototype.cnds.CompareInstanceVar,
cr.plugins_.Spritefont2.prototype.acts.SetText,
cr.behaviors.Sin.prototype.acts.SetActive,
cr.plugins_.Spritefont2.prototype.acts.SetPos,
cr.plugins_.Sprite.prototype.cnds.IsVisible,
cr.plugins_.Sprite.prototype.cnds.CompareY,
cr.plugins_.Sprite.prototype.exps.ImagePointY,
cr.plugins_.Sprite.prototype.acts.Spawn,
cr.plugins_.Spriter.prototype.cnds.readyForSetup,
cr.plugins_.Spriter.prototype.acts.associateTypeWithName,
cr.plugins_.Audio.prototype.cnds.OnEnded,
cr.plugins_.Audio.prototype.cnds.IsSilent,
cr.plugins_.Mouse.prototype.cnds.OnObjectClicked,
cr.plugins_.Browser.prototype.acts.GoToURLWindow,
cr.behaviors.Turret.prototype.acts.AddTarget,
cr.behaviors.lunarray_LiteTween.prototype.cnds.OnEnd,
cr.plugins_.Sprite.prototype.acts.AddInstanceVar,
cr.plugins_.Sprite.prototype.exps.Opacity,
cr.plugins_.Sprite.prototype.acts.SetAnim,
cr.plugins_.Sprite.prototype.cnds.PickDistance,
cr.plugins_.MagiCam.prototype.acts.ShakeCamera,
cr.plugins_.Particles.prototype.acts.SetPosToObject,
cr.behaviors.Pin.prototype.acts.Pin,
cr.behaviors.Platform.prototype.cnds.CompareSpeed,
cr.plugins_.Particles.prototype.acts.SetSpraying,
cr.plugins_.Particles.prototype.cnds.OnCreated,
cr.plugins_.Particles.prototype.acts.SetAngle,
cr.plugins_.Sprite.prototype.exps.Angle,
cr.plugins_.Sprite.prototype.acts.SetPosToObject,
cr.behaviors.Platform.prototype.exps.VectorX,
cr.behaviors.LOS.prototype.acts.AddObstacle,
cr.behaviors.LOS.prototype.cnds.HasLOSToObject,
cr.behaviors.Turret.prototype.cnds.OnShoot,
cr.behaviors.Turret.prototype.cnds.HasTarget,
cr.behaviors.Turret.prototype.cnds.OnTargetAcquired,
cr.plugins_.Sprite.prototype.cnds.OnCreated,
cr.plugins_.Sprite.prototype.cnds.CompareOpacity,
cr.plugins_.Sprite.prototype.cnds.IsOnScreen,
cr.behaviors.Rotate.prototype.acts.SetSpeed,
cr.system_object.prototype.cnds.OnLoadFinished,
cr.plugins_.Particles.prototype.cnds.IsOnScreen,
cr.plugins_.Spritefont2.prototype.acts.SetOpacity,
cr.plugins_.Sprite.prototype.acts.ToggleBoolInstanceVar,
cr.plugins_.Tilemap.prototype.acts.EraseTile,
cr.plugins_.Tilemap.prototype.exps.PositionToTileX,
cr.plugins_.Tilemap.prototype.exps.PositionToTileY,
cr.plugins_.Sprite.prototype.acts.StopAnim,
cr.plugins_.Spriter.prototype.acts.setAnimation,
cr.plugins_.Tilemap.prototype.acts.SetTile,
cr.plugins_.Tilemap.prototype.acts.SetTileRange,
cr.plugins_.MagiCam.prototype.acts.CreateGlobalCamera,
cr.plugins_.MagiCam.prototype.acts.TransitionToCamera,
cr.plugins_.MagiCam.prototype.cnds.TransitionFinished,
cr.plugins_.Spriter.prototype.acts.SetPos,
cr.plugins_.Spriter.prototype.exps.X,
cr.plugins_.Spriter.prototype.exps.Y,
cr.plugins_.Text.prototype.acts.AppendText,
cr.system_object.prototype.exps.zeropad,
cr.plugins_.Spritefont2.prototype.acts.SetInstanceVar,
cr.system_object.prototype.exps.random,
cr.plugins_.Spritefont2.prototype.cnds.CompareInstanceVar,
cr.plugins_.LocalStorage.prototype.acts.CheckItemExists,
cr.plugins_.LocalStorage.prototype.cnds.IsProcessingGets,
cr.plugins_.LocalStorage.prototype.cnds.OnAllSetsComplete,
cr.system_object.prototype.acts.GoToLayout,
cr.plugins_.Browser.prototype.acts.Reload,
cr.plugins_.LocalStorage.prototype.acts.ClearStorage,
cr.plugins_.LocalStorage.prototype.cnds.OnCleared,
cr.system_object.prototype.cnds.Every,
cr.plugins_.LocalStorage.prototype.cnds.OnItemExists,
cr.plugins_.LocalStorage.prototype.acts.GetItem,
cr.plugins_.LocalStorage.prototype.cnds.OnItemGet,
cr.plugins_.LocalStorage.prototype.exps.ItemValue,
cr.plugins_.LocalStorage.prototype.cnds.OnItemMissing,
cr.plugins_.Sprite.prototype.acts.SetInstanceVar,
cr.plugins_.Browser.prototype.exps.Domain
];};